Github user hmcl commented on a diff in the pull request:
https://github.com/apache/storm/pull/2151#discussion_r127773597
--- Diff: docs/storm-kafka-client.md ---
@@ -240,12 +240,9 @@ streams. If you are doing this for Trident a value
must be in the List returned
otherwise trident can throw exceptions.
-### Manual Partition Control (ADVANCED)
+### Manual Partition Assigment (ADVANCED)
-By default Kafka will automatically assign partitions to the current set
of spouts. It handles lots of things, but in some cases you may want to
manually assign the partitions.
-This can cause less churn in the assignments when spouts go down and come
back up, but it can result in a lot of issues if not done right. This can all
be handled by subclassing
-Subscription and we have a few implementations that you can look at for
examples on how to do this. ManualPartitionNamedSubscription and
ManualPartitionPatternSubscription. Again
-please be careful when using these or implementing your own.
+By default the KafkaSpout instancs will be assigned partitions by round
robin assignment. If you need to customize this assignment, you can implement
the `ManualPartitioner` interface. The implementation can be passed to the
`ManualPartitionSubscription` constructor, and the `Subscription` can then be
set in the `KafkaSpoutConfig` via the `KafkaSpoutConfig.Builder` constructor.
Please take care when supplying a custom implementation, since an incorrect
`ManualPartitioner` implementation could leave some partitions unread, or
concurrently read by multiple spout instances. See the
`RoundRobinManualPartitioner` for an example of how to implement this
functionality.
--- End diff --
By default the KafkaSpout instances will be assigned partitions using a
round robin strategy. If you need to customize partitions assignment, you must
implement the `ManualPartitioner` interface.
---
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 [email protected] or file a JIRA ticket
with INFRA.
---