That's a better comment.  You should replace the one you have with it.

Le 10/21/2016 à 4:03 PM, Hitesh Khamesra a écrit :
This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/53094/


    On October 21st, 2016, 10:36 p.m. UTC, *Bruce Schuchardt* wrote:

        
geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
        
<https://reviews.apache.org/r/53094/diff/1/?file=1543182#file1543182line1516>
        (Diff revision 1)

        public final boolean destroy(EntryEventImpl event,

        1516    

                         owner.cancelExpiryTask(re,  event.getExpiryTask());

                1516    

                         //we only want to cancel if concurrency-check is not 
enabled

        I don't understand this comment. There doesn't seem to be a
        check for concurrency-checks being enabled & you've removed
        the check for a tombstone.

Right, I just added some more comment there. Basically regionEntry will be null if concurrency-check is enable. And in that case we cancel expiry from removeTomstone method.


//we only want to cancel if concurrency-check is not enabled //re(regionentry) will be null when concurrency-check is enable and removeTombstone method //will call cancelExpiryTask on regionEntry


- Hitesh


On October 21st, 2016, 6:41 p.m. UTC, Hitesh Khamesra wrote:

Review request for geode, Bruce Schuchardt, Darrel Schneider, and Udo Kohlmeyer.
By Hitesh Khamesra.

/Updated Oct. 21, 2016, 6:41 p.m./

*Repository: * geode


  Description

ExpirationManager tracks the regionEntry as reference to expiryTask. It assumes, it is unique for that key. But consistency check mechanism keeps that regionEntry around and that enforces re-use of that for new update. That introduces the race condition between expiry thread and user thread, it endup not scheduling the entry for expiration. As a fix, now "consistency check mechanism" unschedules the expiry task to avoid this race condition.


  Diffs

  * 
geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
    (e02c7e1)
  * geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
    (d059aab)
  * 
geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java
    (0c20d32)
  * geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
    (ac4c705)

View Diff <https://reviews.apache.org/r/53094/diff/>


Reply via email to