GitHub user ymatsuda opened a pull request: https://github.com/apache/kafka/pull/353
KAFKA-2652: integrate new group protocol into partition grouping @guozhangwang * added ```PartitionGrouper``` (abstract class) * This class is responsible for grouping partitions to form tasks. * Users may implement this class for custom grouping. * added ```DefaultPartitionGrouper``` * our default implementation of ```PartitionGrouper``` * added ```KafkaStreamingPartitionAssignor``` * We always use this as ```PartitionAssignor``` of stream consumers. * Actual grouping is delegated to ```PartitionGrouper```. * ```TopologyBuilder``` * added ```topicGroups()``` * This returns groups of related topics according to the topology * added ```copartitionSources(sourceNodes...)``` * This is used by DSL layer. It asserts the specified source nodes must be copartitioned. * added ```copartitionGroups()``` which returns groups of copartitioned topics * KStream layer * keep track of source nodes to determine copartition sources when steams are joined * source nodes are set to null when partitioning property is not preserved (ex. ```map()```, ```transform()```), and this indicates the stream is no longer joinable You can merge this pull request into a Git repository by running: $ git pull https://github.com/ymatsuda/kafka grouping Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/353.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #353 ---- commit 708718c1be23fad25fa6206f665cbb619c1b5097 Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-19T19:38:06Z partition grouping commit d2bae046b5509022e2821a2c5eb08853d228e791 Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-19T20:19:54Z wip commit 86fa8110b23ee1992fbd19daa08c63a4b427448e Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-20T20:01:37Z long task id commit 4f4f9ac642ebe0eae33a5c8464309106e9239f2e Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-20T20:03:15Z Merge branch 'trunk' of github.com:apache/kafka into grouping commit e4ecf39b9ab0b0f4c915a4f43cfe771b1de69f7f Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-21T19:33:05Z joinability commit 37d72a691173a8fe878ac3d99e8973e72f5675c6 Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-21T19:33:48Z Merge branch 'trunk' of github.com:apache/kafka into grouping commit f68723bab83c3a3f1c15872f4f24bc932df8198f Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-22T18:21:31Z partition assignor commit 457cf270222139eae89750781d09abaa07120932 Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-22T18:21:40Z Merge branch 'trunk' of github.com:apache/kafka into grouping commit 13f3ad703960581229d511287f27345c567b5d3e Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-22T18:34:52Z complete undoing long taskid commit 98f3bcc1896fd159ccbbd37fc65b1d9d6f568bb9 Author: Yasuhiro Matsuda <yasuh...@confluent.io> Date: 2015-10-22T18:45:38Z fix a test ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---