lianetm commented on code in PR #14357:
URL: https://github.com/apache/kafka/pull/14357#discussion_r1344406010
##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/AssignmentReconciler.java:
##########
@@ -44,21 +45,46 @@
import java.util.stream.Collectors;
/**
- * {@code MemberAssignmentReconciler} works with {@link MembershipManager} to
first determine, and then modify the
- * current set of assigned {@link TopicPartition partitions} via {@link
SubscriptionState}. Reconciliation is a
- * two-part process, the first being a revocation of partitions, followed by
assignment of partitions. Each of the two
- * steps may result in one of the following:
+ * {@code AssignmentReconciler} performs the work of reconciling this
consumer's partition assignment as directed
+ * by the consumer group coordinator. When the coordinator determines that a
change to the partition ownership of
+ * the group is required, it will communicate with each consumer to relay its
respective <em>target</em>
+ * assignment, that is, the set of partitions for which that consumer should
now assume ownership. It is the then the
+ * responsibility of the consumer to work toward that target by performing the
necessary internal modifications to
+ * satisfy the assignment from the coordinator. In practical terms, this means
that it must first determine the set
+ * difference between the <em>{@link SubscriptionState#assignedPartitions()
current assignment}</em> and the
+ * <em>{@link Assignment#assignedTopicPartitions() target assignment}</em>.
+ *
+ * <p/>
+ *
+ * Internally, reconciliation is a multi-step process:
+ *
+ * <ol>
+ * <li>Calculating partitions to revoke</li>
+ * <li>Invoking {@link
ConsumerRebalanceListener#onPartitionsRevoked(Collection)}</li>
Review Comment:
We need to commit offsets before revoking partitions if auto commit is
enabled, I expect that should be here right? (interacting with the
commitRequest manager)
--
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]