kirktrue commented on code in PR #16686:
URL: https://github.com/apache/kafka/pull/16686#discussion_r1835190373


##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/ApplicationEventProcessor.java:
##########
@@ -394,6 +398,15 @@ private void process(@SuppressWarnings("unused") final 
CommitOnCloseEvent event)
         requestManagers.commitRequestManager.get().signalClose();
     }
 
+    private void process(@SuppressWarnings("unused") final 
LeaveGroupOnCloseEvent event) {

Review Comment:
   Removed.



##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/AbstractMembershipManager.java:
##########
@@ -523,18 +524,44 @@ public void transitionToJoining() {
     /**
      * Transition to {@link MemberState#PREPARE_LEAVING} to release the 
assignment. Once completed,
      * transition to {@link MemberState#LEAVING} to send the heartbeat request 
and leave the group.
-     * This is expected to be invoked when the user calls the unsubscribe API.
+     * This is expected to be invoked when the user calls the {@link 
Consumer#close()} API.
+     *
+     * @return Future that will complete when the heartbeat to leave the group 
has been sent out.
+     */
+    public CompletableFuture<Void> leaveGroupOnClose() {
+        return leaveGroup(true);
+    }
+
+    /**
+     * Transition to {@link MemberState#PREPARE_LEAVING} to release the 
assignment. Once completed,
+     * transition to {@link MemberState#LEAVING} to send the heartbeat request 
and leave the group.
+     * This is expected to be invoked when the user calls the {@link 
Consumer#unsubscribe()} API.
      *
      * @return Future that will complete when the callback execution completes 
and the heartbeat
      * to leave the group has been sent out.
      */
     public CompletableFuture<Void> leaveGroup() {
+        return leaveGroup(false);
+    }
+
+    /**
+     * Transition to {@link MemberState#PREPARE_LEAVING} to release the 
assignment. Once completed,
+     * transition to {@link MemberState#LEAVING} to send the heartbeat request 
and leave the group.
+     * This is expected to be invoked when the user calls the unsubscribe API.
+     *
+     * @param isClosing {@code true} if the Consumer is closing, {@code false} 
otherwise
+     *
+     * @return Future that will complete when the callback execution completes 
and the heartbeat
+     * to leave the group has been sent out.
+     */
+    protected CompletableFuture<Void> leaveGroup(boolean isClosing) {

Review Comment:
   Renamed to `runCallbacks`.



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

Reply via email to