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