Repository: kafka Updated Branches: refs/heads/trunk 54f9a7012 -> 0e0b632b9
MINOR: Improve doc string in PartitionGrouper Author: Guozhang Wang <[email protected]> Reviewers: Matthias J. Sax <[email protected]> Closes #1550 from guozhangwang/Kminor-grouppartitioner-javadoc Project: http://git-wip-us.apache.org/repos/asf/kafka/repo Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/0e0b632b Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/0e0b632b Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/0e0b632b Branch: refs/heads/trunk Commit: 0e0b632b926f52451495ab254e74ab87848cb353 Parents: 54f9a70 Author: Guozhang Wang <[email protected]> Authored: Fri Jun 24 14:46:39 2016 -0700 Committer: Guozhang Wang <[email protected]> Committed: Fri Jun 24 14:46:39 2016 -0700 ---------------------------------------------------------------------- .../apache/kafka/streams/processor/PartitionGrouper.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kafka/blob/0e0b632b/streams/src/main/java/org/apache/kafka/streams/processor/PartitionGrouper.java ---------------------------------------------------------------------- diff --git a/streams/src/main/java/org/apache/kafka/streams/processor/PartitionGrouper.java b/streams/src/main/java/org/apache/kafka/streams/processor/PartitionGrouper.java index 1f9a473..77418b9 100644 --- a/streams/src/main/java/org/apache/kafka/streams/processor/PartitionGrouper.java +++ b/streams/src/main/java/org/apache/kafka/streams/processor/PartitionGrouper.java @@ -35,8 +35,14 @@ public interface PartitionGrouper { /** * Returns a map of task ids to groups of partitions. A partition group forms a task, thus, partitions that are - * expected to be processed together must be in the same group. DefaultPartitionGrouper implements this - * interface. See {@link DefaultPartitionGrouper} for more information. + * expected to be processed together must be in the same group. + * + * Note that the grouping of partitions need to be <b>sticky</b> such that for a given partition, its assigned + * task should always be the same regardless of the input parameters to this function. This is to ensure task's + * local state stores remain valid through workload rebalances among Kafka Streams instances. + * + * The default partition grouper implements this interface by assigning all partitions across different topics with the same + * partition id into the same task. See {@link DefaultPartitionGrouper} for more information. * * @param topicGroups The map from the {@link TopologyBuilder#topicGroups()} topic group} id to topics * @param metadata Metadata of the consuming cluster
