Github user choojoyq commented on a diff in the pull request:
https://github.com/apache/storm/pull/2726#discussion_r200651516
--- Diff:
external/storm-kafka/src/jvm/org/apache/storm/kafka/ZkCoordinator.java ---
@@ -107,14 +110,14 @@ public void refresh() {
_stormConf,
_spoutConfig,
id,
- deletedManagers.get(id.partition));
+ deletedManagers.get(new
TopicAndPartition(id.topic, id.partition)));
--- End diff --
I believe that this lookup exists for preserving information about
partitions from other brokers in case of rebalancing. If for example one of
brokers fail and its partitions are reassigned to other brokers this lookup
should find information about this partition and reuse it during recreation of
the same partition but on other host. ``equals()`` and ``hashCode()`` in
Partition are based on topic, partition and host while this lookup in based
only on topic and partition.
---