lianetm commented on code in PR #18737:
URL: https://github.com/apache/kafka/pull/18737#discussion_r1944980202
##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/CommitRequestManager.java:
##########
@@ -324,7 +323,7 @@ public CompletableFuture<Void>
maybeAutoCommitSyncBeforeRevocation(final long de
CompletableFuture<Void> result = new CompletableFuture<>();
OffsetCommitRequestState requestState =
- createOffsetCommitRequest(subscriptions.allConsumed(), deadlineMs);
+ createOffsetCommitRequest(latestPartitionOffsets, deadlineMs);
Review Comment:
This is a tricky one, but I wonder if there is a simple fix at a higher
level. At the moment we're triggering reconciliation freely in the background
(when polling all managers, polling the membershipMgr is the one triggering
it), and as I see it, that's probably what's conceptually wrong here? Should we
consider triggering reconciliations only when processing a PollEvent?
With that this situation here disappears, because we would be generating the
commit to revoke before any fetching happens (and even considering that the
commit needs to be retried, at that point we know we had marked the partition
as pending for revocation already, so no new fetches for it).
Seems conceptually right and simple, but I could be missing something. What
do you think?
--
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]