lucasbru commented on code in PR #19114:
URL: https://github.com/apache/kafka/pull/19114#discussion_r2012357466


##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java:
##########
@@ -1452,6 +1533,49 @@ private void throwIfShareGroupHeartbeatRequestIsInvalid(
         }
     }
 
+    /**
+     * Validates the request.
+     *
+     * @param request The request to validate.
+     * @throws InvalidRequestException if the request is not valid.
+     * @throws UnsupportedAssignorException if the assignor is not supported.
+     */
+    private static void throwIfStreamsGroupHeartbeatRequestIsInvalid(

Review Comment:
   Maybe, but we have to think this through. Even if we let clients crash only 
when they use the same topology epoch, that would mean that scaling down the 
number of input partitions for a stateless application would become impossible. 
I am wondering if it isn't a better course of action to just ignore tasks that 
we do not expect. After all, the client is just saying what he thinks he owns. 
If we'd just ignore those tasks, the next target assignment would not include 
the tasks, so the client would automatically be instructed to revoke whatever 
tasks it thinks it currently has.



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