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>'].