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


##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/AbstractMembershipManager.java:
##########
@@ -1175,21 +1175,8 @@ private CompletableFuture<Void> assignPartitions(
 
         // Invoke user call back.
         CompletableFuture<Void> result = 
signalPartitionsAssigned(addedPartitions);
-        result.whenComplete((__, exception) -> {
-            if (exception == null) {
-                // Enable newly added partitions to start fetching and 
updating positions for them.
-                
subscriptions.enablePartitionsAwaitingCallback(addedPartitions);
-            } else {
-                // Keeping newly added partitions as non-fetchable after the 
callback failure.
-                // They will be retried on the next reconciliation loop, until 
it succeeds or the
-                // broker removes them from the assignment.
-                if (!addedPartitions.isEmpty()) {
-                    log.warn("Leaving newly assigned partitions {} marked as 
non-fetchable and not " +
-                            "requiring initializing positions after 
onPartitionsAssigned callback failed.",
-                        addedPartitions, exception);
-                }
-            }
-        });
+        // Enable newly added partitions to start fetching and updating 
positions for them.
+        result.whenComplete((__, exception) -> 
subscriptions.enablePartitionsAwaitingCallback(addedPartitions));

Review Comment:
   that's true in the app thread, but the risk is that with the new consumer 
the fetching happens in the background thread, so I wonder if by enabling the 
partition when the callback failed (and hasn't recovered) we could end up in a 
weird situation sending a fetch request in the background? It's not 
conceptually right. 
   
   I don't understand why do we need to enable the partition for fetching if 
the callback failed and hasn't recovered? Isn't it enough to keep the logic as 
it was (enable for fetching only when callback succeeds), but with the fix of 
enabling all assigned partitions? 



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