You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Barry Oglesby (JIRA)" <ji...@apache.org> on 2018/09/07 00:26:00 UTC
[jira] [Assigned] (GEODE-5706) The Ack Reader thread can cause the
Event Processor thread to clear the batchIdToEventsMap when it shouldn't
[ 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)