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.
---