Skip to content

KAFKA-14136 Generate ConfigRecord even if the value is unchanged#12483

Merged
mumrah merged 3 commits intoapache:trunkfrom
mumrah:KAFKA-14136-alter-configs-kraft-fix
Aug 4, 2022
Merged

KAFKA-14136 Generate ConfigRecord even if the value is unchanged#12483
mumrah merged 3 commits intoapache:trunkfrom
mumrah:KAFKA-14136-alter-configs-kraft-fix

Conversation

@mumrah
Copy link
Member

@mumrah mumrah commented Aug 3, 2022

This patch changes the AlterConfigs behavior in KRaft mode to match that of ZK. When we receive a LegacyAlterConfig or IncrementalAlterConfig that does not change a value for a key, we will still generate a ConfigRecord.

This is to allow certain refresh behavior on the broker side (e.g., reloading trust stores and key stores).

The DynamicBrokerReconfigurationTests which reload key stores and trust stores are enabled in this PR to validate the new behavior.

Also, a small fix for KAFKA-14115 is included.

Also enable keystore and truststore reconfiguration tests

Also fix KAFKA-14115
@mumrah mumrah requested a review from cmccabe August 3, 2022 21:34
@cmccabe
Copy link
Contributor

cmccabe commented Aug 3, 2022

Can we do this just for the broker configs? We don't have this behavior for topic configs or other types of configs...

LGTM other than that.

Copy link
Contributor

@cmccabe cmccabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

In the comment that says

// We need to generate records even if the value is unchanged to trigger reloads on the brokers
can you add a reference to this JIRA?

@mumrah mumrah merged commit add7cd8 into apache:trunk Aug 4, 2022
mumrah added a commit that referenced this pull request Aug 4, 2022
mumrah added a commit that referenced this pull request Aug 4, 2022
@premkamal23 premkamal23 mentioned this pull request Aug 5, 2022
ijuma added a commit to confluentinc/kafka that referenced this pull request Aug 5, 2022
…(5 August 2022)

Version related conflicts:
* Jenkinsfile
* gradle.properties
* streams/quickstart/java/pom.xml
* streams/quickstart/java/src/main/resources/archetype-resources/pom.xml
* streams/quickstart/pom.xml
* tests/kafkatest/__init__.py
* tests/kafkatest/version.py

* commit 'add7cd85baa61cd0e1430': (66 commits)
KAFKA-14136 Generate ConfigRecord for brokers even if the value is
unchanged (apache#12483)
  HOTFIX / KAFKA-14130: Reduce RackAwarenesssTest to unit Test (apache#12476)
  MINOR: Remove ARM/PowerPC builds from Jenkinsfile (apache#12380)
  KAFKA-14111 Fix sensitive dynamic broker configs in KRaft (apache#12455)
  KAFKA-13877: Fix flakiness in RackAwarenessIntegrationTest (apache#12468)
KAFKA-14129: KRaft must check manual assignments for createTopics are
contiguous (apache#12467)
KAFKA-13546: Do not fail connector validation if default topic
creation group is explicitly specified (apache#11615)
KAFKA-14122: Fix flaky test
DynamicBrokerReconfigurationTest#testKeyStoreAlter (apache#12452)
  MINOR; Use right enum value for broker registration change (apache#12236)
  MINOR; Synchronize access to snapshots' TreeMap (apache#12464)
  MINOR; Bump trunk to 3.4.0-SNAPSHOT (apache#12463)
  MINOR: Stop logging 404s at ERROR level in Connect
KAFKA-14095: Improve handling of sync offset failures in MirrorMaker
(apache#12432)
  Minor: enable index for emit final sliding window (apache#12461)
  MINOR: convert some more junit tests to support KRaft (apache#12456)
  KAFKA-14108: Ensure both JUnit 4 and JUnit 5 tests run (apache#12441)
  MINOR: Remove code of removed metric (apache#12453)
MINOR: Update comment on verifyTaskGenerationAndOwnership method in
DistributedHerder
KAFKA-14012: Add warning to closeQuietly documentation about method
references of null objects (apache#12321)
  MINOR: Fix static mock usage in ThreadMetricsTest (apache#12454)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants