[ https://issues.apache.org/jira/browse/GEODE-5706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Barry Oglesby updated GEODE-5706: --------------------------------- Labels: swat (was: ) > The Ack Reader thread can cause the Event Processor thread to clear the > batchIdToEventsMap when it shouldn't > ------------------------------------------------------------------------------------------------------------ > > Key: GEODE-5706 > URL: https://issues.apache.org/jira/browse/GEODE-5706 > Project: Geode > Issue Type: Bug > Components: wan > Reporter: Barry Oglesby > Assignee: Barry Oglesby > Priority: Major > Labels: swat > > The sequence of events that causes this issue are: > - The local sender's Ack Reader and Event Processor threads are connected to > one of the receivers > - The receiver crashes > - the Ack Reader thread detects that and closes the connection > - the Event Processor thread fails to send a batch and resets the batchId > (which sets the resetLastPeekedEvents to true) > - the Event Processor thread clears the batchIdToEventsMap (containing > batches already sent but not acked) since resetLastPeekedEvents is true > - the Event Processor thread establishes a connection to another receiver > - the Event Processor thread continues sending batches to the new receiver > (and adding them to the batchIdToEventsMap) > - the Ack Reader thread exception handling causes resetLastPeekedEvents to be > set to true > - the Event Processor thread clears the batchIdToEventsMap since > resetLastPeekedEvents is true > - batches are lost > When the Ack Reader thread receives acks for these batches, the > batchIdToEventsMap no longer contains them so: > - the afterAcknowledgement callback is not invoked > - the events are not removed properly from the queue -- This message was sent by Atlassian JIRA (v7.6.3#76005)