diff --git a/CHANGELOG.md b/CHANGELOG.md index 04ff2d26..84d7e152 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ Changes and additions to the library will be listed here. ## Unreleased +- Refresh a stale cluster's metadata if necessary on `Kafka::Client#deliver_message` (#901). - Fix `Kafka::TransactionManager#send_offsets_to_txn` (#866). - Add support for `murmur2` based partitioning. - Add `resolve_seed_brokers` option to support seed brokers' hostname with multiple addresses (#877). diff --git a/lib/kafka/client.rb b/lib/kafka/client.rb index 2b5c46ed..739e6c1b 100644 --- a/lib/kafka/client.rb +++ b/lib/kafka/client.rb @@ -210,6 +210,8 @@ def deliver_message(value, key: nil, headers: {}, topic:, partition: nil, partit attempt = 1 begin + @cluster.refresh_metadata_if_necessary! + operation.execute unless buffer.empty?