[
https://issues.apache.org/jira/browse/GEODE-5706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Barry Oglesby reassigned GEODE-5706:
------------------------------------
Assignee: Barry Oglesby
> 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)