You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "karuturi (via GitHub)" <gi...@apache.org> on 2025/07/07 15:38:19 UTC
[PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
karuturi opened a new pull request, #20121:
URL: https://github.com/apache/kafka/pull/20121
The test was flaky due to a race condition where the test would proceed before the brokers were in the correct state. This commit adds a waitUntilTrue call to ensure that the replica has caught up with the leader before proceeding with the test.
ran the test in a loop to ensure its working fine
`for i in {1..10}; do ./gradlew core:test --tests kafka.server.LogRecoveryTest && echo "Run $i passed" || exit 1; done`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2201263896
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -64,6 +64,12 @@ class LogRecoveryTest extends QuorumTestHarness {
def hwFile2 = new OffsetCheckpointFile(new File(configProps2.logDirs.get(0), ReplicaManager.HighWatermarkFilename), null)
var servers = Seq.empty[KafkaBroker]
+ override def kraftControllerConfigs(testInfo: TestInfo): Seq[Properties] = {
+ val properties = new Properties()
+ properties.put(ReplicationConfigs.UNCLEAN_LEADER_ELECTION_ENABLE_CONFIG, "true")
Review Comment:
@junrao added comment for the config override
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2193545685
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -215,7 +215,7 @@ class LogRecoveryTest extends QuorumTestHarness {
server2.startup()
updateProducer()
// check if leader moves to the other server
- leader = awaitLeaderChange(servers, topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
+ leader = awaitLeaderChange(Seq(server2), topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
Review Comment:
Thanks, but this doesn't seem to be the root cause. Note that `awaitLeaderChange()` will ignore server1 even if it's included in the brokers since it's the same as the old leader.
I dug a bit deeper on this. The following is what I found.
When the test passes, we have the following sequence. We fence broker 0 first, which causes 0 to be removed from ISR. We then fence broker 1. Since broker 1 is the last member in ISR. It's preserved. When broker 1 is restarted, it can be elected as the leader since it's in ISR.
```
[2025-07-08 18:09:24,746] INFO [QuorumController id=1000] Fencing broker 0 at epoch 9 because its session has timed out. (org.apache.kafka.controller.ReplicationControlManager:1700)
[2025-07-08 18:09:24,747] INFO [QuorumController id=1000] handleBrokerFenced: changing partition(s): new-topic-0 : PartitionChangeRecord(partitionId=0, topicId=ygLg0ywdTcCWn2_pMjpvKg, isr=[1], leader=1, replicas=null, removingReplicas=null, addingReplicas=null, leaderRecoveryState=-1, directories=null, eligibleLeaderReplicas=null, lastKnownElr=null) (org.apache.kafka.controller.ReplicationControlManager:2057)
[2025-07-08 18:09:24,758] INFO [QuorumController id=1000] Fencing broker 1 at epoch 11 because its session has timed out. (org.apache.kafka.controller.ReplicationControlManager:1700)
[2025-07-08 18:09:24,759] INFO [QuorumController id=1000] handleBrokerFenced: changing partition(s): new-topic-0 : PartitionChangeRecord(partitionId=0, topicId=ygLg0ywdTcCWn2_pMjpvKg, isr=null, leader=-1, replicas=null, removingReplicas=null, addingReplicas=null, leaderRecoveryState=-1, directories=null, eligibleLeaderReplicas=null, lastKnownElr=null) (org.apache.kafka.controller.ReplicationControlManager:2057)
[2025-07-08 18:09:26,145] INFO [QuorumController id=1000] The request from broker 1 to unfence has been granted because it has caught up with the offset of its register broker record 44. (org.apache.kafka.controller.BrokerHeartbeatManager:413)
[2025-07-08 18:09:26,146] INFO [QuorumController id=1000] handleBrokerUnfenced: changing partition(s): new-topic-0 : PartitionChangeRecord(partitionId=0, topicId=ygLg0ywdTcCWn2_pMjpvKg, isr=null, leader=1, replicas=null, removingReplicas=null, addingReplicas=null, leaderRecoveryState=-1, directories=null, eligibleLeaderReplicas=null, lastKnownElr=null) (org.apache.kafka.controller.ReplicationControlManager:2057)
```
When the test fails, we have the following sequence. First, broker 1 is re-registered after starting. This causes broker 1 to be removed from ISR. We then fence broker 0. Since it's the last member in ISR, 0 is preserved. This leads to no leader since broker 1 is not in ISR and unclean leader election is disabled.
```
[2025-07-08 18:09:37,659] INFO [QuorumController id=1000] handleBrokerShutdown: changing partition(s): new-topic-0 : PartitionChangeRecord(partitionId=0, topicId=jAy5ExUJRHODDr8kttB-cA, isr=[0], leader=-2, replicas=null, removingReplicas=null, addingReplicas=null, leaderRecoveryState=-1, directories=null, eligibleLeaderReplicas=null, lastKnownElr=null) (org.apache.kafka.controller.ReplicationControlManager:2057)
[2025-07-08 18:09:37,659] INFO [QuorumController id=1000] Registering a new incarnation of broker 1. Previous incarnation ID was wCXN8auETdmv29caNaaBAQ; new incarnation ID is In8FF4IGRjig4e5IgmwPVQ. Generated 1 record(s) to clean up previous incarnations. Broker epoch will become 34. (org.apache.kafka.controller.ClusterControlManager:444)
[2025-07-08 18:09:38,012] INFO [QuorumController id=1000] Fencing broker 0 at epoch 9 because its session has timed out. (org.apache.kafka.controller.ReplicationControlManager:1700)
[2025-07-08 18:09:38,013] INFO [QuorumController id=1000] handleBrokerFenced: changing partition(s): new-topic-0 : PartitionChangeRecord(partitionId=0, topicId=jAy5ExUJRHODDr8kttB-cA, isr=null, leader=-1, replicas=null, removingReplicas=null, addingReplicas=null, leaderRecoveryState=-1, directories=null, eligibleLeaderReplicas=null, lastKnownElr=null) (org.apache.kafka.controller.ReplicationControlManager:2057)
```
I tried to enable unclean leader election in the test. But the test still fails. Need to investigate further on that.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2203437459
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -64,6 +64,16 @@ class LogRecoveryTest extends QuorumTestHarness {
def hwFile2 = new OffsetCheckpointFile(new File(configProps2.logDirs.get(0), ReplicaManager.HighWatermarkFilename), null)
var servers = Seq.empty[KafkaBroker]
+ // This test simulates broker failures that can leave the only available replica out of the
Review Comment:
@junrao please take a look.
I updated the comment message in a new commit as suggested
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "chia7712 (via GitHub)" <gi...@apache.org>.
chia7712 commented on PR #20121:
URL: https://github.com/apache/kafka/pull/20121#issuecomment-5364966121
I cherry-picked this into 4.0 and 4.1 because it was so flaky on those branches.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2202454037
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -64,6 +64,16 @@ class LogRecoveryTest extends QuorumTestHarness {
def hwFile2 = new OffsetCheckpointFile(new File(configProps2.logDirs.get(0), ReplicaManager.HighWatermarkFilename), null)
var servers = Seq.empty[KafkaBroker]
+ // This test simulates broker failures that can leave the only available replica out of the
Review Comment:
updated the comment as suggested
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2193947100
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -224,6 +224,9 @@ class LogRecoveryTest extends QuorumTestHarness {
server1.startup()
updateProducer()
+ waitUntilTrue(() => server2.replicaManager.onlinePartition(topicPartition).get.inSyncReplicaIds.size == 2,
Review Comment:
@junrao Can you please take a look again?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2191447635
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -224,6 +224,9 @@ class LogRecoveryTest extends QuorumTestHarness {
server1.startup()
updateProducer()
+ waitUntilTrue(() => server2.replicaManager.onlinePartition(topicPartition).get.inSyncReplicaIds.size == 2,
Review Comment:
@junrao My previous fix was not addressing the specific failure point mentioned in the JIRA issue, and the waitUntilTrue I added was likely redundant for the reasons you mentioned. My apologies.
I updated the commit with a fix for the actual issue.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2201246590
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -64,6 +64,12 @@ class LogRecoveryTest extends QuorumTestHarness {
def hwFile2 = new OffsetCheckpointFile(new File(configProps2.logDirs.get(0), ReplicaManager.HighWatermarkFilename), null)
var servers = Seq.empty[KafkaBroker]
+ override def kraftControllerConfigs(testInfo: TestInfo): Seq[Properties] = {
+ val properties = new Properties()
+ properties.put(ReplicationConfigs.UNCLEAN_LEADER_ELECTION_ENABLE_CONFIG, "true")
Review Comment:
I tried to explain the change in commit message. I will also add a comment
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2190953126
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -224,6 +224,9 @@ class LogRecoveryTest extends QuorumTestHarness {
server1.startup()
updateProducer()
+ waitUntilTrue(() => server2.replicaManager.onlinePartition(topicPartition).get.inSyncReplicaIds.size == 2,
Review Comment:
Hmm, why is this needed? Later on, there is another waitUntilTrue(). That should be enough, right?
```
TestUtils.waitUntilTrue(() =>
server1.replicaManager.localLogOrException(topicPartition).highWatermark == hw,
"Failed to update high watermark for follower after timeout")
```
Also, from the jira, the failure happened in the following line.
` leader = awaitLeaderChange(servers, topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2201203837
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -64,6 +64,12 @@ class LogRecoveryTest extends QuorumTestHarness {
def hwFile2 = new OffsetCheckpointFile(new File(configProps2.logDirs.get(0), ReplicaManager.HighWatermarkFilename), null)
var servers = Seq.empty[KafkaBroker]
+ override def kraftControllerConfigs(testInfo: TestInfo): Seq[Properties] = {
+ val properties = new Properties()
+ properties.put(ReplicationConfigs.UNCLEAN_LEADER_ELECTION_ENABLE_CONFIG, "true")
Review Comment:
It would be useful to add a comment on why this config is needed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2200524063
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -215,7 +215,7 @@ class LogRecoveryTest extends QuorumTestHarness {
server2.startup()
updateProducer()
// check if leader moves to the other server
- leader = awaitLeaderChange(servers, topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
+ leader = awaitLeaderChange(Seq(server2), topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
Review Comment:
Thanks @junrao I made the changes as suggested. Post fix, I ran 100 runs with no failure.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao merged PR #20121:
URL: https://github.com/apache/kafka/pull/20121
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2201246590
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -64,6 +64,12 @@ class LogRecoveryTest extends QuorumTestHarness {
def hwFile2 = new OffsetCheckpointFile(new File(configProps2.logDirs.get(0), ReplicaManager.HighWatermarkFilename), null)
var servers = Seq.empty[KafkaBroker]
+ override def kraftControllerConfigs(testInfo: TestInfo): Seq[Properties] = {
+ val properties = new Properties()
+ properties.put(ReplicationConfigs.UNCLEAN_LEADER_ELECTION_ENABLE_CONFIG, "true")
Review Comment:
I added a commit message explaining this change. I will also add a comment
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2198952441
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -215,7 +215,7 @@ class LogRecoveryTest extends QuorumTestHarness {
server2.startup()
updateProducer()
// check if leader moves to the other server
- leader = awaitLeaderChange(servers, topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
+ leader = awaitLeaderChange(Seq(server2), topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
Review Comment:
@karuturi : I added the following to the test. It seems that fixes the issue. I was able to run the test for 400 iterations with no failure. Before, the test will fail within 50 iterations. Do you want to include that in your PR?
```
override def kraftControllerConfigs(testInfo: TestInfo): Seq[Properties] = {
val properties = new Properties()
properties.put(ReplicationConfigs.UNCLEAN_LEADER_ELECTION_ENABLE_CONFIG, "true")
Seq(properties)
}
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2196778751
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -215,7 +215,7 @@ class LogRecoveryTest extends QuorumTestHarness {
server2.startup()
updateProducer()
// check if leader moves to the other server
- leader = awaitLeaderChange(servers, topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
+ leader = awaitLeaderChange(Seq(server2), topicPartition, oldLeaderOpt = Some(leader), timeout = 30000L)
Review Comment:
Thanks for the detailed comment. Just started on the codebase and getting my hands dirty. I will investigate on this and get back to you.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "junrao (via GitHub)" <gi...@apache.org>.
junrao commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2201285845
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -64,6 +64,16 @@ class LogRecoveryTest extends QuorumTestHarness {
def hwFile2 = new OffsetCheckpointFile(new File(configProps2.logDirs.get(0), ReplicaManager.HighWatermarkFilename), null)
var servers = Seq.empty[KafkaBroker]
+ // This test simulates broker failures that can leave the only available replica out of the
Review Comment:
This test => `testHWCheckpointWithFailuresMultipleLogSegments`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] KAFKA-19452: Fix flaky test LogRecoveryTest.testHWCheckpointWithFailuresMultipleLogSegments [kafka]
Posted by "karuturi (via GitHub)" <gi...@apache.org>.
karuturi commented on code in PR #20121:
URL: https://github.com/apache/kafka/pull/20121#discussion_r2191447635
##########
core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala:
##########
@@ -224,6 +224,9 @@ class LogRecoveryTest extends QuorumTestHarness {
server1.startup()
updateProducer()
+ waitUntilTrue(() => server2.replicaManager.onlinePartition(topicPartition).get.inSyncReplicaIds.size == 2,
Review Comment:
My previous fix was not addressing the specific failure point mentioned in the JIRA issue, and the waitUntilTrue I added was likely redundant for the reasons you mentioned. My apologies.
I updated the commit with a fix for the actual issue.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org