----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/52891/#review153129 -----------------------------------------------------------
Fix it, then Ship it! Ship It! geode-core/src/main/java/org/apache/geode/cache/query/Query.java (line 92) <https://reviews.apache.org/r/52891/#comment222410> Wemay have to add this to other flavors of execute(*)... - anilkumar gingade On Oct. 17, 2016, 11:15 p.m., Ken Howe wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/52891/ > ----------------------------------------------------------- > > (Updated Oct. 17, 2016, 11:15 p.m.) > > > 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/Query.java e27687d > > geode-core/src/main/java/org/apache/geode/cache/query/internal/DefaultQuery.java > 58df390 > > geode-core/src/main/java/org/apache/geode/internal/cache/PRHARedundancyProvider.java > cfedb67 > > geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java > baab79f > > geode-core/src/main/java/org/apache/geode/internal/i18n/LocalizedStrings.java > 8bfdd68 > > geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRBasicQueryDUnitTest.java > 8ef907a > > geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryDUnitHelper.java > cfb4190 > > geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentColocatedPartitionedRegionDUnitTest.java > 0a25228 > > Diff: https://reviews.apache.org/r/52891/diff/ > > > Testing > ------- > > precheckin > > > Thanks, > > Ken Howe > >