lucasbru commented on code in PR #14878:
URL: https://github.com/apache/kafka/pull/14878#discussion_r1413549969
##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/MembershipManagerImpl.java:
##########
@@ -783,6 +774,7 @@ void markReconciliationCompleted() {
* </ol>
*/
private void resolveMetadataForUnresolvedAssignment() {
+ assignmentReadyToReconcile.clear();
Review Comment:
It's the integration test in this PR ... `testRemoteAssignorRange`.
What's missing is logic for revocation. We are getting 6 partitions from an
HB, we add them to `assignmentReadyToReconcile`. Next HB we get only 4
partitions (2 are revoked), we also add them to `assignmentReadyToReconcile`,
but the 2 partitions that were supposed to be removed from the assignment are
never removed because they are still in `assignmentReadyToReconcile`.
Not sure if I understand the concern about clearing resolved assignment -
since we are clearing out `assignmentUnresolved` anyway and put all assigned
partitions back into it, wouldn't that only mean that I may have to re-resolve
some partitions, but that we wouldn't lose a partition.
Anyway, let me create a separate ticket for this and submit this PR with
dumbed down integration test that does not require revocation.
[Fix revocation in reconcilation
logic](https://issues.apache.org/jira/browse/KAFKA-15967)
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]