KAFKA-20025: enable dynamic TLS reconfiguration for KafkaRaftManager #21333
+18
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When updating keystore/truststore, one can use the kafka-configs.sh CLI to gracefully reconfigure the listeners and let them pick up the new certificates.
For RaftManager however this wasn't working as expected. E.g. when running the kafka-configs command below, connections initated by the KafkaRaftManager would not pick up the reconfiguration and kept using the old TLS settings indefinitely, both on broker and controller nodes.
/usr/local/kafka/bin/kafka-configs.sh --bootstrap-server kafka-broker:9999 --alter --entity-type brokers --entity-name 2 --add-config listener.name.CONTROLLER.ssl.keystore.location=/pki/broker.jksThis was caused by:
reconfigurables
receive any dynamic configuration updates.
This commit resolves both issues.