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

Barry Oglesby resolved GEODE-1819.
----------------------------------
    Resolution: Fixed

> BucketRegionQueue size and keySet can become out of sync during 
> initialization and never recover
> ------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-1819
>                 URL: https://issues.apache.org/jira/browse/GEODE-1819
>             Project: Geode
>          Issue Type: Bug
>          Components: wan
>            Reporter: Barry Oglesby
>            Assignee: Barry Oglesby
>
> This bug is the same as GemFire Trac 48049 - One event was left behind in 
> {{ParallelGatewaySenderQueue}} causing the test to hang.
> The issue occurs during {{BucketRegionQueue initialize}}. This method:
> - calls super initialize (which does GII)
> - loads events from temp queue
> - initializes eventSeqNumQueue
> If a destroy event occurs (from a {{ParallelQueueRemovalMessage}}) after the 
> {{super initialize}} call but before the {{BucketRegionQueue initialize}} 
> method completes, then it doesn't actually get removed from the 
> {{CustomEntryConcurrentHashMap}} of entries. Instead, it ends up in the 
> {{UnsharedImageState destroyedEntryKeys}} in {{DESTROYED}} state. The value 
> in the entry is {{Token.DESTROYED}}. This happens because 
> {{inTokenMode==true}} which is the case because {{AbstractBucketRegionQueue}} 
> overrides {{isInitialized}} to return a boolean field, and this field is set 
> to true at the end of {{BucketRegionQueue initialize}}. See 
> {{LocalRegion.mapDestroy}} and {{lockGII}}. So, in effect, the 
> {{BucketRegionQueue}} is not initialized until after the temp queue is 
> drained, and the {{eventSeqNumQueue}} is initialized. Events in this state 
> never get cleaned up, so the behavior is that size returns 1 but keySet 
> returns empty set.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to