Kafka-14420 Use incrementalAlterConfigs API for syncing topic configurations (KIP-894)#13373
Kafka-14420 Use incrementalAlterConfigs API for syncing topic configurations (KIP-894)#13373C0urante merged 18 commits intoapache:trunkfrom
Conversation
Add a test that catches the bug
…) when syncing topic configurations
Extend ConfigPropertyFiler and DefaultConfigPropertyFilter with a new option to choose which cluster's default to use
mimaison
left a comment
There was a problem hiding this comment.
Thanks for the PR! I left a few questions and suggestions.
C0urante
left a comment
There was a problem hiding this comment.
Thanks for the PR!
Haven't made a complete pass yet (probably not worth it until Mickael's comments are addressed), but wanted to leave a few thoughts that don't appear to conflict with any of the review comments left so far.
b6867ec to
1e0d296
Compare
1e0d296 to
2d7cd6f
Compare
|
@mimaison @C0urante Thank you so much for reviewing the PR. I think I have addressed all the review comments, please let me know if I have missed anything or you have any further comments. The jenkins build has failed due to mostly unrelated tests, except one integration test for mirrormaker, |
C0urante
left a comment
There was a problem hiding this comment.
Thanks Tina! Left a few more comments.
I think for some of the unhandled cases here, it would also be nice to add testing coverage to ensure that things are working as expected now and that we don't regress in the future. FWIW, I still haven't gotten to look too much at the testing changes; I'm assuming that any logical errors here aren't covered or are covered incorrectly, since otherwise the tests would be failing.
c8ed0e8 to
aff17e9
Compare
C0urante
left a comment
There was a problem hiding this comment.
Thanks @tinaselenge, this is looking better. I think there are a few comments from the last round that went by unaddressed; I've resolved any that I think still need to be touched on.
4b26d7e to
e482ebf
Compare
bef2af4 to
dc3e953
Compare
dc3e953 to
c9bb8a6
Compare
|
@C0urante Sorry, it was left in incomplete state. I have been meaning to get back to it and address the remaining comments. I think I have now addressed everything. Thank you so much for reviewing the PR again. Please let me know if I still missed something or have further comments. |
|
@tinaselenge I owe you a big apology! I think the API you had for the The double-check logic is necessary because we need to distinguish between three possible cases when incrementally altering topic configs:
If we only rely on Instead, we can and should use both methods to decide how to act (for some property that has a default value on the source cluster):
So I've come to realize that the way you'd originally implemented this is actually the only correct way to satisfy the design outlined in the KIP. I'm very sorry for wasting your time on this wild goose chase, please accept my apologies! |
|
@C0urante No worries at all! I should have clarified it better. I think both logics work but perhaps the double logic in the targetConfig() is better since we can't rely solely on shouldReplicateSourceDefault as you said. I reverted that part but also added some comments explaining the conditions that we are filtering against, hopefully that makes sense. |
C0urante
left a comment
There was a problem hiding this comment.
Thanks @tinaselenge! This is looking great, almost ready to merge.
C0urante
left a comment
There was a problem hiding this comment.
LGTM, thanks @tinaselenge!
(Sorry for the delay; took last week off 🌴)
|
It looks like we started getting a lot of test failures after this PR: https://ci-builds.apache.org/job/Kafka/job/kafka/job/trunk/1746/#showFailuresLink I see a lot of the same failures in this PR build: https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-13373/16/#showFailuresLink @C0urante did you triage these failures before merging? |
|
Ticket for the failures introduced here: https://issues.apache.org/jira/browse/KAFKA-14905 Some cursory investigation reveals that these tests hook into |
|
Thanks for helping with this @gharris1727. |
Implements https://cwiki.apache.org/confluence/display/KAFKA/KIP-894%3A+Use+incrementalAlterConfigs+API+for+syncing+topic+configurations
Committer Checklist (excluded from commit message)