InternalDistributedMember localNode = pr.getRegionAdvisor().getDistributionManager().getId(); if(nodeToBucketsMap.get(localNode) != null){ HashSet<Integer> bucketSet = nodeToBucketsMap.get(localNode);
public List<DistributedMember> orderDataStoresUsingBucketCount(final Set nodes) { final Set<NodeBucketSize> orderedSet = new TreeSet<NodeBucketSize>(); final List<DistributedMember> orderedList = new ArrayList<DistributedMember>(); final DistributedMember self = getDistributionManager().getDistributionManagerId(); adviseFilter(new Filter() { public boolean include(Profile profile) { if (profile instanceof PartitionProfile && nodes.contains(profile.getDistributedMember())) { PartitionProfile p = (PartitionProfile)profile; orderedSet.add(new NodeBucketSize(p.numBuckets, p .getDistributedMember())); return true; } else if (profile instanceof PartitionProfile && nodes.contains(self)) { orderedSet.add(new NodeBucketSize(getBucketSet().size(), self)); return true; } return false; } }); if (nodes.contains(self) && !orderedSet.contains(new NodeBucketSize(getBucketSet().size(), self))){ orderedSet.add(new NodeBucketSize(getBucketSet().size(),self)); } for (NodeBucketSize node : orderedSet) { orderedList.add(node.member); } return orderedList; }
public List<DistributedMember> orderDataStoresUsingBucketCount(final Set nodes) { final Set<NodeBucketSize> orderedSet = new TreeSet<NodeBucketSize>(); final List<DistributedMember> orderedList = new ArrayList<DistributedMember>(); final DistributedMember self = getDistributionManager().getDistributionManagerId(); adviseFilter(new Filter() { public boolean include(Profile profile) { if (profile instanceof PartitionProfile && nodes.contains(profile.getDistributedMember())) { PartitionProfile p = (PartitionProfile)profile; orderedSet.add(new NodeBucketSize(p.numBuckets, p .getDistributedMember())); return true; } else if (profile instanceof PartitionProfile && nodes.contains(self)) { orderedSet.add(new NodeBucketSize(getBucketSet().size(), self)); return true; } return false; } }); if (nodes.contains(self) && !orderedSet.contains(new NodeBucketSize(getBucketSet().size(), self))){ orderedSet.add(new NodeBucketSize(getBucketSet().size(),self)); } for (NodeBucketSize node : orderedSet) { orderedList.add(node.member); } return orderedList; }
/** * This method was split out from getPrimary() due to bug #40639 * and is only intended to be called from within that method. * @see #getPrimary() * @return the new primary */ private final InternalDistributedMember waitForNewPrimary() { DM dm = this.regionAdvisor.getDistributionManager(); DistributionConfig config = dm.getConfig(); // failure detection period long timeout = config.getMemberTimeout() * 3; // plus time for a new member to become primary timeout += Long.getLong("gemfire.BucketAdvisor.getPrimaryTimeout", 15 * 1000); InternalDistributedMember newPrimary = waitForPrimaryMember(timeout); return newPrimary; }
/** * This method was split out from getPrimary() due to bug #40639 * and is only intended to be called from within that method. * Now also called from isPrimaryWithWait * @param waitForCurrentMember if true, waits for the current member to become primary * @see #getPrimary() * @return the new primary */ private final InternalDistributedMember waitForNewPrimary(boolean waitForCurrentMember) { DM dm = this.regionAdvisor.getDistributionManager(); DistributionConfig config = dm.getConfig(); // failure detection period long timeout = config.getMemberTimeout() * 3; // plus time for a new member to become primary timeout += Long.getLong("gemfire.BucketAdvisor.getPrimaryTimeout", 15 * 1000); InternalDistributedMember newPrimary = waitForPrimaryMember(timeout, waitForCurrentMember); return newPrimary; }
InternalDistributedMember localNode = pr.getRegionAdvisor().getDistributionManager().getId(); if(nodeToBucketsMap.get(localNode) != null){ HashSet<Integer> bucketSet = nodeToBucketsMap.get(localNode);
Iterator pi = this.preInitQueue.iterator(); boolean finishedInitQueue = false; LogWriterI18n logger = getDistributionManager().getLoggerI18n(); try { while(pi.hasNext()) { !getDistributionManager().isCurrentMember(qbp.memberId)) { boolean crashed; if (qbp.memberDeparted) { if (!finishedInitQueue && getAdvisee().getCancelCriterion().cancelInProgress() == null) { getDistributionManager().getLoggerI18n().error( LocalizedStrings.RegionAdvisor_FAILED_TO_PROCESS_ALL_QUEUED_BUCKETPROFILES_FOR_0, getAdvisee());
!getDistributionManager().isCurrentMember(qbp.memberId)) { boolean crashed; if (qbp.memberDeparted) {
public void waitForProfileStatus(int status) { ProfileShutdownListener listener = new ProfileShutdownListener(); addProfileChangeListener(listener); try { int memberNum = 0; String regionName = getPartitionedRegion().getFullPath(); do { Region pr = getPartitionedRegion().getCache().getRegion(regionName); if (pr == null || pr.isDestroyed()) break; Set members = adviseNotAtShutDownAllStatus(status); memberNum = members.size(); if (memberNum >0) { getDistributionManager().getLoggerI18n().fine("waitForProfileStatus "+status+" at PR:"+getPartitionedRegion().getFullPath()+", expecting "+memberNum+" members:"+members); listener.waitForChange(); } } while (memberNum > 0); } finally { removeProfileChangeListener(listener); } }
return primary; } else { if (this.regionAdvisor.getDistributionManager().getId().equals(primary)) { return primary;