[ 
https://issues.apache.org/jira/browse/GEODE-2900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Huynh updated GEODE-2900:
-------------------------------
    Description: 
In this scenario when peek() is called from BucketRegionQueue, a side effect is 
that the key is removed from the eventSeqNumQueue and an event is placed into 
the peekedEvents list.

If there is failure dispatching the event, we add the peekedEvents list to a 
new peekedEvents list.  Before doing so, we remove any events that we are not 
primary for.  Now the event is not in the eventSeqNumQueue or the peekedEvents 
list

If we now become primary (before the other node could dispatch this event), and 
because we do not have that event in the eventSeqNumQueue or the peekedEvents, 
it gets "stuck."

This also affects the Lucene implementation.  An stuck event can mean 
incorrectly indexed data or data inconsistencies


  was:
In this scenario when peek() is called from BucketRegionQueue, a side effect is 
that the key is removed from the eventSeqNumQueue and an event is placed into 
the peekedEvents list.

If there is failure dispatching the event, we add the peekedEvents list to a 
new peekedEvents list.  Before doing so, we remove any events that we are not 
primary for.  Now the event is not in the eventSeqNumQueue or the peekedEvents 
list

If we now become primary (before the other node could dispatch this event), and 
because we do not have that event in the eventSeqNumQueue or the peekedEvents, 
it gets "stuck."


    Component/s: lucene

> BucketRegionQueue transitions from primary/secondary/primary can lead to 
> events lingering in queue
> --------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-2900
>                 URL: https://issues.apache.org/jira/browse/GEODE-2900
>             Project: Geode
>          Issue Type: Bug
>          Components: lucene, wan
>            Reporter: Jason Huynh
>            Assignee: Jason Huynh
>
> In this scenario when peek() is called from BucketRegionQueue, a side effect 
> is that the key is removed from the eventSeqNumQueue and an event is placed 
> into the peekedEvents list.
> If there is failure dispatching the event, we add the peekedEvents list to a 
> new peekedEvents list.  Before doing so, we remove any events that we are not 
> primary for.  Now the event is not in the eventSeqNumQueue or the 
> peekedEvents list
> If we now become primary (before the other node could dispatch this event), 
> and because we do not have that event in the eventSeqNumQueue or the 
> peekedEvents, it gets "stuck."
> This also affects the Lucene implementation.  An stuck event can mean 
> incorrectly indexed data or data inconsistencies



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to