KAFKA-18310: Flaky AbstractCoordinatorTest #18665
Open
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.
The
AbstractCoordinator#joinGroupIfNeeded
callsConsumerNetworkClient#poll(RequestFuture, Timer)
[0]. It calls another method withdisableWakeup = false
. IfjoinFuture
is not done, ConsumerNetworkClient does poll multiple times before timer is expired [1]. IfjoinFuture
finishes too fast, the SyncGroupRequest can't be handled inAbstractCoordinator#ensureActiveGroup
, so it doesn't throw WakeupException. ChangeConsumerNetworkClient#poll(RequestFuture, Timer, boolean)
like following in the trunk branch and the flaky cases can be reproduced frequently.[0]
kafka/clients/src/main/java/org/apache/kafka/clients/consumer/internals/AbstractCoordinator.java
Lines 480 to 481 in 3d49159
[1]
kafka/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerNetworkClient.java
Lines 230 to 235 in 3d49159
Committer Checklist (excluded from commit message)