lianetm commented on code in PR #18737:
URL: https://github.com/apache/kafka/pull/18737#discussion_r1945890862


##########
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:
   More brainstorming improving this idea a bit more, all the above is 
important if we have auto-commit enabled only. Also it's important to keep 
resolving the topics names for the topic Ids assigned asap (to request the 
metadata needed, that part doesn't need to wait for any in-flight fetch), so 
even though we the need the above comment, we shouldn't throw away completely 
the attempt to reconcile on the membershipMgr.poll.  
   
   So one option that comes to mind is to keep calling 
`maybeReconcile(canCommit=false)` from the membershipMgr.poll to not delay the 
resolution of the topics, and also not delay reconciliation if autoCommit 
disabled (the new param is simply to short-circuit right after resolving 
metadata, before `markReconciliationInProgress` I guess) if autoCommitEnabled & 
!canCommit. Then we also need a call to `maybeReconcile(canCommit=true)` when a 
PollEvent is processed (this is what the above comment is about, basically the 
one to reconcile with autoCommit, only possible when 
   > we know any record returned to the application will have been processed 
and no more records can be given to the application. So, it's safe to commit 
the offset at that point.



-- 
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