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

Anilkumar Gingade resolved GEODE-5733.
--------------------------------------
       Resolution: Fixed
    Fix Version/s: 1.8.0

Fixed as part of the bug fix: GEODE-5748

 

> Region size could be wrong when there is failure during GII
> -----------------------------------------------------------
>
>                 Key: GEODE-5733
>                 URL: https://issues.apache.org/jira/browse/GEODE-5733
>             Project: Geode
>          Issue Type: Improvement
>          Components: regions
>    Affects Versions: 1.0.0-incubating
>            Reporter: Anilkumar Gingade
>            Assignee: Anilkumar Gingade
>            Priority: Major
>             Fix For: 1.8.0
>
>
> The region size is calculated using size of underlying map and tombstone 
> count:
> size = map.size() - tombstone.
> The increment and decrement op on map and tombstone (creation) are 
> non-atomic; which could result in region size reporting incorrectly.
> One of the scenario:
> -- Thread-1 is creating region; it sends region profile starts sends initial 
> image request.
> -- Meanwhile Thread-2 does a destroy (replicated message); its not yet 
> incremented the Tombstone count.
> -- Thread-1 fails to do GII; as a result of this. It clears the entries from 
> the region.
> -- Now Thread-2 increments the tombstone count. Which corrupts the state.
> The probable fix could be to make the “getSizeGuard()” on local region used 
> by size() and clear() to use read-write lock. The tombstone creation uses 
> read lock; clear() and size() will use write lock.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to