squah-confluent commented on code in PR #21652:
URL: https://github.com/apache/kafka/pull/21652#discussion_r2898823659


##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/ModernGroup.java:
##########
@@ -45,6 +45,18 @@
  */
 public abstract class ModernGroup<T extends ModernGroupMember> implements 
Group {
 
+    /**
+     * The target assignment metadata.
+     *
+     * @param assignmentEpoch     The target assignment epoch. An assignment 
epoch smaller than the
+     *                            group epoch means that a new assignment is 
required. The
+     *                            assignment epoch is updated when a new 
assignment is installed.
+     * @param assignmentTimestamp The time at which the target assignment 
calculation finished.
+     */
+    protected static record TargetAssignmentMetadata(int assignmentEpoch, long 
assignmentTimestamp) {
+        private static final TargetAssignmentMetadata NONE = new 
TargetAssignmentMetadata(0, 0L);

Review Comment:
   Actually, I realize that we set the assignment epoch to -1 when replaying a 
tombstone. I think both initial and tombstoned values ought to be the same.
   
   However changing the initial epoch to -1 causes a handful of tests to fail 
(DescribeGroup in a bunch of tests returns a negative epoch and consumer groups 
enter the ASSIGNING state because assignment epoch -1 lags behind group epoch 
0). I'd rather not untangle this right now and the PR is large enough.
   
   https://issues.apache.org/jira/browse/KAFKA-20271



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