-----------------------------------------------------------
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 (updated)
-----

  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

Reply via email to