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/>