Repository: geode
Updated Branches:
  refs/heads/feature/GEODE-3304 [created] 53e27cf21


GEODE-3304: when colocated child bucket is destroyed, it should not impact its
parent bucket's creation.


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/53e27cf2
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/53e27cf2
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/53e27cf2

Branch: refs/heads/feature/GEODE-3304
Commit: 53e27cf21f9c4285d2079ccc7f07fb688e097828
Parents: 1efbf58
Author: zhouxh <gz...@pivotal.io>
Authored: Wed Aug 9 16:55:41 2017 -0700
Committer: zhouxh <gz...@pivotal.io>
Committed: Wed Aug 9 16:55:41 2017 -0700

----------------------------------------------------------------------
 .../geode/internal/cache/PartitionedRegionDataStore.java | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/53e27cf2/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
index a63a7dd..8662edc 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
@@ -2881,8 +2881,15 @@ public class PartitionedRegionDataStore implements 
HasCachePerfStats {
         }
         if ((isDiskRecovery || pr.isInitialized())
             && (pr.getDataStore().isColocationComplete(bucketId))) {
-          grab = pr.getDataStore().grabFreeBucketRecursively(bucketId, pr, 
moveSource,
-              forceCreation, replaceOffineData, isRebalance, 
creationRequestor, isDiskRecovery);
+          try {
+            grab = pr.getDataStore().grabFreeBucketRecursively(bucketId, pr, 
moveSource,
+                forceCreation, replaceOffineData, isRebalance, 
creationRequestor, isDiskRecovery);
+          } catch (RegionDestroyedException rde) {
+            logger.info(
+                "Creating colocated child bucket region " + 
this.partitionedRegion.getFullPath()
+                    + " bucketId=" + bucketId + " failed, but not to stop 
create parent bucket.",
+                rde);
+          }
           if (!grab.nowExists()) {
             if (logger.isDebugEnabled()) {
               logger.debug("Failed grab for bucketId = {}{}{}", 
this.partitionedRegion.getPRId(),

Reply via email to