[ 
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)

Reply via email to