You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ag...@apache.org on 2018/01/11 00:28:32 UTC

[geode] branch feature/GEODE-3583-storage updated: GEODE-4203: Remove GemFireCacheImpl.getInstance from PartitionedRegionHelper

This is an automated email from the ASF dual-hosted git repository.

agingade pushed a commit to branch feature/GEODE-3583-storage
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/feature/GEODE-3583-storage by this push:
     new 0530964  GEODE-4203: Remove GemFireCacheImpl.getInstance from PartitionedRegionHelper
0530964 is described below

commit 0530964e9a960e1b1174826e8d92e44f6f44dc48
Author: Anil <ag...@pivotal.io>
AuthorDate: Wed Jan 10 16:27:27 2018 -0800

    GEODE-4203: Remove GemFireCacheImpl.getInstance from PartitionedRegionHelper
---
 .../apache/geode/internal/cache/CloseCacheMessage.java   |  2 +-
 .../geode/internal/cache/PartitionedRegionHelper.java    | 16 ++++++++++------
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CloseCacheMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CloseCacheMessage.java
index fccda69..523eaf6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CloseCacheMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CloseCacheMessage.java
@@ -57,7 +57,7 @@ public class CloseCacheMessage extends HighPriorityDistributionMessage implement
     boolean systemError = false;
     try {
       try {
-        PartitionedRegionHelper.cleanUpMetaDataOnNodeFailure(getSender());
+        PartitionedRegionHelper.cleanUpMetaDataOnNodeFailure(dm.getCache(), getSender());
       } catch (VirtualMachineError err) {
         systemError = true;
         SystemFailure.initiateFailure(err);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionHelper.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionHelper.java
index cb0fd0c..592e16f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionHelper.java
@@ -271,7 +271,7 @@ public class PartitionedRegionHelper {
         root = (DistributedRegion) cache.createVMRegion(PR_ROOT_REGION_NAME, ra,
             new InternalRegionArguments().setIsUsedForPartitionedRegionAdmin(true)
                 .setInternalRegion(true).setCachePerfStatsHolder(prMetaStatsHolder));
-        root.getDistributionAdvisor().addMembershipListener(new MemberFailureListener());
+        root.getDistributionAdvisor().addMembershipListener(new MemberFailureListener(cache));
       } catch (RegionExistsException ignore) {
         // we avoid this before hand, but yet we have to catch it
         root = (DistributedRegion) cache.getRegion(PR_ROOT_REGION_NAME, true);
@@ -305,15 +305,13 @@ public class PartitionedRegionHelper {
    * Clean the config meta data for a DistributedMember which has left the DistributedSystem, one
    * PartitionedRegion at a time.
    */
-  public static void cleanUpMetaDataOnNodeFailure(DistributedMember failedMemId) {
+  public static void cleanUpMetaDataOnNodeFailure(InternalCache cache,
+      DistributedMember failedMemId) {
     try {
-      final InternalCache cache = GemFireCacheImpl.getInstance();
       if (cache == null || cache.getCancelCriterion().isCancelInProgress()) {
         return;
       }
 
-      DistributionManager dm = cache.getInternalDistributedSystem().getDistributionManager();
-
       if (logger.isDebugEnabled()) {
         logger.debug("Cleaning PartitionedRegion meta data for memberId={}", failedMemId);
       }
@@ -932,12 +930,18 @@ public class PartitionedRegionHelper {
 
   private static class MemberFailureListener implements MembershipListener {
 
+    InternalCache cache = null;
+
+    MemberFailureListener(InternalCache cache) {
+      this.cache = cache;
+    }
+
     public void memberJoined(InternalDistributedMember id) {
 
     }
 
     public void memberDeparted(final InternalDistributedMember id, boolean crashed) {
-      PartitionedRegionHelper.cleanUpMetaDataOnNodeFailure(id);
+      PartitionedRegionHelper.cleanUpMetaDataOnNodeFailure(cache, id);
     }
 
     public void memberSuspect(InternalDistributedMember id, InternalDistributedMember whoSuspected,

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].