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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to