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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to