KAFKA-9218: MirrorMaker 2 can fail to create topics#7745
KAFKA-9218: MirrorMaker 2 can fail to create topics#7745mimaison merged 2 commits intoapache:trunkfrom
Conversation
|
test failure on JDK 11 and Scala 2.13 unrelated to this PR |
|
@ryannedolan your comments welcome |
ryannedolan
left a comment
There was a problem hiding this comment.
Thanks for finding and fixing this issue! The commit message could better explain what is being fixed and how. A couple other nits, otherwise lgtm.
There was a problem hiding this comment.
I don't have a better suggestion, but targetTopicPartitionsUpstream is a kinda confusing name.
There was a problem hiding this comment.
upstreamTargetTopicPartitions is certainly a much better name :-)
There was a problem hiding this comment.
This logic appears twice. Can we extract to a method?
There was a problem hiding this comment.
Mockito is mysterious to me -- someone else should review this please.
188d4d2 to
1c57adb
Compare
|
Thanks @ryannedolan I've pushed some cosmetic changes to address your comments. |
|
Please rebase, otherwise lgtm. |
Check topics in both source and target clusters to compute topic partitions to create on target. Co-authored-by: Edoardo Comar <ecomar@uk.ibm.com> Co-authored-by: Mickael Maison <mickael.maison@uk.ibm.com>
The original commit comment could be reworded as: When the scheduled refreshTopicPartitions runs, check existing topics in both source and target clusters in order to compute topic partitions to be created on target. If a temporary failure to create the target topic is encountered (e.g. insufficient number of brokers), on the next refresh the target topic creation will be re-attempted. Co-authored-by: Edoardo Comar <ecomar@uk.ibm.com> Co-authored-by: Mickael Maison <mickael.maison@uk.ibm.com>
1c57adb to
cbbccfa
Compare
|
Thanks @ryannedolan , rebased @omkreddy could you review please ? |
omkreddy
left a comment
There was a problem hiding this comment.
@edoardocomar Thanks for the PR. LGTM.
@mimaison feel free to merge.
Conflicts or compilation errors due to the fact that we temporarily reverted the commit that removes Scala 2.11 support: * AclCommand.scala: take upstream changes. * AclCommandTest.scala: take upstream changes. * TransactionCoordinatorTest.scala: don't use SAMs, but adjust mock call to putTransactionStateIfNotExists given new signature. * TransactionStateManagerTest: use Runnable instead of SAMs. * PartitionLockTest: use Runnable instead of SAMs. * docs/upgrade.html: take upstream changes excluding line that states that Scala 2.11 support has been removed. * apache-github/trunk: (28 commits) KAFKA-9457; Fix flaky test org.apache.kafka.common.network.SelectorTest.testGracefulClose (apache#7989) MINOR: Update AclCommand help message to match implementation (apache#7990) MINOR: Update introduction page in Kafka documentation MINOR: Use Math.min for StreamsPartitionAssignor#updateMinReceivedVersion method (apache#7954) KAFKA-9338; Fetch session should cache request leader epoch (apache#7970) KAFKA-9329; KafkaController::replicasAreValid should return error message (apache#7865) KAFKA-9449; Adds support for closing the producer's BufferPool. (apache#7967) MINOR: Handle expandIsr in PartitionLockTest and ensure read threads not blocked on write (apache#7973) MINOR: Fix typo in connect integration test class name (apache#7976) KAFKA-9218: MirrorMaker 2 can fail to create topics (apache#7745) KAFKA-8847; Deprecate and remove usage of supporting classes in kafka.security.auth (apache#7966) MINOR: Suppress DescribeConfigs Denied log during CreateTopics (apache#7971) [MINOR]: Fix typo in Fetcher comment (apache#7934) MINOR: Remove unnecessary call to `super` in `MetricConfig` constructor (apache#7975) MINOR: fix flaky StreamsUpgradeTestIntegrationTest (apache#7974) KAFKA-9431: Expose API in KafkaStreams to fetch all local offset lags (apache#7961) KAFKA-9235; Ensure transaction coordinator is stopped after replica deletion (apache#7963) KAFKA-9410; Make groupId Optional in KafkaConsumer (apache#7943) MINOR: Removed accidental double negation in error message. (apache#7834) KAFKA-6144: IQ option to query standbys (apache#7962) ...
When the scheduled refreshTopicPartitions runs, check existing topics in both source and target clusters in order to compute topic partitions to be created on target.
If a temporary failure to create the target topic is encountered (e.g. insufficient number of brokers), on the next refresh the target topic creation will be re-attempted.
Co-authored-by: Edoardo Comar ecomar@uk.ibm.com
Co-authored-by: Mickael Maison mickael.maison@uk.ibm.com
Committer Checklist (excluded from commit message)