Github user srdo commented on the issue: https://github.com/apache/storm/pull/2454 I've put up a solution that doesn't have any of the drawbacks I mentioned. commitOffsetsForAckedTuples will now only commit offsets on the partitions it's told to. I think it makes sense that we implement the rebalance listener to only commit offsets for the partitions that are assigned, and not all partitions. The only drawback I see to this solution is that it is less visible if we have offset managers for partitions the spout isn't assigned (it would previously crash when attempting to commit, now it will silently be ignored). Having offset managers for unassigned partitions shouldn't happen during normal operation, only when the spout is deactivated, receives an ack that allows a commit, and is then reactivated. If you like I'm happy to add a flag similar to "initialized" so we can check that we never have offset managers for unassigned partitions except in this case.
---