----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/52891/ -----------------------------------------------------------
Review request for geode, anilkumar gingade, Darrel Schneider, Eric Shu, Scott Jewell, and Dan Smith. Repository: geode Description ------- PartitionedRegion.getNodeForBucketReadOrLoad can return an invalid node if persistent data recovery is in process and a get() targets a bucket that hasn't been recoverd yet. This can result in returning an incorrect value (null) or throwing ConflictingPersistentDataException from a get() or put() on the region. This change adds a check for persistent recovery to be completed before creating the new bucket. If recovery isn't complete then the operation on the region will fail with a PartitionOfflineException. Queries on a region while persistent recovery is in progress can also result in incorrect results so a similar check is added to DefaultQuery.checkQueryOnPR. New DUnit tests added for gets, puts, and queries for cases where persistent colocated child regions haven't been started and where the child region has been started but persistent recovery is still in progress when the region operation is attempted. Diffs ----- geode-core/src/main/java/org/apache/geode/cache/query/internal/DefaultQuery.java 58df3904e32b1af140bda92e0aba16da28c6a109 geode-core/src/main/java/org/apache/geode/internal/cache/PRHARedundancyProvider.java cfedb677bceb884cd726f26e5bd0047876a668ab geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java baab79f930ab0eca03ab04660a21d10f5508f578 geode-core/src/main/java/org/apache/geode/internal/i18n/LocalizedStrings.java 8bfdd686eb50605e12cb59015d5ddab99714c563 geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRBasicQueryDUnitTest.java 8ef907ac85195d0433f3e2f923a7a9e02fc48fff geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryDUnitHelper.java cfb419036817d994ef49e4e0bcfb304d15db300e geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentColocatedPartitionedRegionDUnitTest.java 0a25228c9b2fd5066bbaf7f806462bcff36f0ba9 Diff: https://reviews.apache.org/r/52891/diff/ Testing ------- precheckin Thanks, Ken Howe
