dajac commented on code in PR #15275:
URL: https://github.com/apache/kafka/pull/15275#discussion_r1477951854


##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/MembershipManagerImpl.java:
##########
@@ -1392,4 +1402,16 @@ public void registerStateListener(MemberStateListener 
listener) {
         }
         this.stateUpdatesListeners.add(listener);
     }
+
+    /**
+     * If either a new target assignment or new metadata is available that we 
have not yet attempted
+     * to reconcile, and we are currently in state RECONCILING, trigger 
reconciliation.
+     */
+    @Override
+    public PollResult poll(final long currentTimeMs) {
+        if (state == MemberState.RECONCILING && attemptReconciliation) {
+            reconcile();

Review Comment:
   For the context, I think that the idea was to move away from the edge 
reconciliation triggers to a model where we would check if the current 
assignment matches the target assignment in `poll` and reconcile if it does not 
and there is no on-going reconciliation. The benefits of this is that it works 
in all cases even if we, for instance, miss a trigger.



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