-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/53652/
-----------------------------------------------------------
Review request for geode, Darrel Schneider, Hitesh Khamesra, and Udo Kohlmeyer.
Bugs: GEODE-2089
https://issues.apache.org/jira/browse/GEODE-2089
Repository: geode
Description
-------
When we pull an entry in from another cache in LocalRegion.findObjectInSystem()
we end up invoking updateStatsForPut and then updateStatsForGet. The former
method installs a lastModifiedTime from the version tag that came from the
other cache and this is used in updateStatsForPut to schedule an expiry-task
for the entry. Then updateStatsForGet is invoked to set the lastAccessed time
of the entry to the current time. However, by the time this is done the entry
may have already been removed by the expiry-task if the lastModified time was
too far in the past.
The fix is to establish both the lastModified and lastAccessed times in
updateStatsForPut.
I've included two of the "leaf" RegionEntry classes in the diff but all of them
had to be modified in the same way.
Diffs
-----
geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionEntry.java
41ca8d084405480c8e4e69bb99db74e19529bc71
geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
de05b0d3991254834da94ed97ada9c9247aa69ab
geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
e307c86a0aed48c0304a6a1ef90bdf147a05c379
geode-core/src/main/java/org/apache/geode/internal/cache/NonLocalRegionEntry.java
6de85a1ab20b653e1731e0476ffb559bd093a121
geode-core/src/main/java/org/apache/geode/internal/cache/Oplog.java
0233b0f32d697c15a1148c95d6549f20997f3cc8
geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
b5a3719ed00a56096582f1adf0b21b61b86563b9
geode-core/src/main/java/org/apache/geode/internal/cache/RegionEntry.java
3448d1fba101a14d421584beb91fe216246794ed
geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
41bd3346c7a275b5fe83fe1df35ac87cc611dd83
geode-core/src/test/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java
7cf632f850098c178d4cf23bf116292d89220738
Diff: https://reviews.apache.org/r/53652/diff/
Testing
-------
New unit test, precheckin
Thanks,
Bruce Schuchardt