Github user hmcl commented on the pull request:
https://github.com/apache/storm/pull/1131#issuecomment-188995178
@revans2 no worries. Concerning your code snippet suggestion, I agree with
most of it. We can definitely keep a lot of the state in the MessageId object.
I agree it is indeed the ideal solution. I considered it initially but was
concerned of how expensive it would be to keep all of that state in the
MessageId.
However, I don't think that Using the markAsDone(id) strategy will suffice
to address the cases where tuples get acked out of order, and the cases were a
sequence of tuples will get acked in sequence, but shifted from the last offset
committed. In this scenario we need to have a way to keep track of the offset
sequences that are ready to be committed. I still think that keeping `acked
Map<TopicPartition, OffsetEntry>` will take care of this in an efficient way.
If there is a better way, of course, I would totally welcome a suggestion.
---
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.
---