rreddy-22 commented on code in PR #14673:
URL: https://github.com/apache/kafka/pull/14673#discussion_r1381121312


##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/consumer/CurrentAssignmentBuilder.java:
##########
@@ -34,48 +33,68 @@
  * consumer group protocol. Given the current state of a member and a desired 
or target
  * assignment state, the state machine takes the necessary steps to converge 
them.
  *
- * The member state has the following properties:
- * - Current Epoch:
- *   The current epoch of the member.
+ * State Machine:
+ * - STABLE:
+ *   The member is fully reconciled to the desired target assignment.
  *
- * - Next Epoch:
- *   The desired epoch of the member. It corresponds to the epoch of the 
target/desired assignment.
- *   The member transitions to this epoch when it has revoked the partitions 
that it does not own
- *   or if it does not have to revoke any.
+ *   Valid Transitions:
+ *   - STABLE -> STABLE
+ *     When a new target assignment is installed but the assignment of the 
member
+ *     has not changed, the member transitions to the next epoch and remains in
+ *     the STABLE state.
  *
- * - Previous Epoch:
- *   The epoch of the member when the state was last updated.
+ *   - STABLE -> UNACKNOWLEDGED_ASSIGNMENT
+ *     When a new target assignment is installed and a new assignment is 
computed
+ *     for the member, he transitions to the UNACKNOWLEDGED_ASSIGNMENT state.
  *
- * - Assigned Partitions:
- *   The set of partitions currently assigned to the member. This represents 
what the member should have.
+ *     If the next assignment contains partitions to be revoked, the member 
stays
+ *     in his current epoch. Otherwise, he transitions to the target epoch.
  *
- * - Partitions Pending Revocation:
- *   The set of partitions that the member should revoke before it can 
transition to the next state.
+ *   - STABLE -> UNRELEASED_PARTITIONS
+ *     When a new target assignment is installed and all the newly assigned 
partitions
+ *     are not available yet, he transitions to the UNRELEASED_PARTITIONS state
+ *     and waits until at least one of them is available.

Review Comment:
   small question for my understanding, why are we just waiting for  _at least_ 
one of them to be released?



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