/** * Fetch a BucketRegion, but do not return until it is initialized and the primary is known. * * @see #getInitializedBucketForId(Object, Integer) * @return the initialized region */ public BucketRegion getInitializedBucketWithKnownPrimaryForId(Object key, Integer bucketId) throws ForceReattemptException { final BucketRegion br = getInitializedBucketForId(key, bucketId); br.getBucketAdvisor().getPrimary();// waits until the primary is initialized return br; }
InternalDistributedMember primary = bucketAdvisor.getPrimary(); if (!forceRemovePrimary && (primary == null || myId.equals(primary))) { if (logger.isDebugEnabled()) { InternalDistributedMember primary = bucketAdvisor.getPrimary(); if (!myId.equals(primary)) { StateFlushOperation flush = new StateFlushOperation(bucketRegion);
/** * Get the most recent primary node for the bucketId. Returns null if no primary can be found * within {@link DistributionConfig#getMemberTimeout}. * * @return the Node managing the primary copy of the bucket */ public InternalDistributedMember getPrimaryMemberForBucket(int bucketId) { Assert.assertTrue(this.buckets != null); Bucket b = this.buckets[bucketId]; return b.getBucketAdvisor().getPrimary(); }
/** * Find the set of members which own primary buckets, including the local member * * @return set of InternalDistributedMember ids */ public Set advisePrimaryOwners() { Assert.assertTrue(this.buckets != null); ProxyBucketRegion[] bucs = this.buckets; HashSet hs = new HashSet(); for (int i = 0; i < bucs.length; i++) { if (isStorageAssignedForBucket(i)) { InternalDistributedMember mem = bucs[i].getBucketAdvisor().getPrimary(); if (mem != null) { hs.add(mem); } } } return hs; }
this.partitionedRegion.getRegionAdvisor().getBucketAdvisor(bucketId); if (source.equals(bucketAdvisor.getPrimary())) { if (!bucketAdvisor.becomePrimary(true)) { if (logger.isDebugEnabled()) {
return new BucketMembershipObserverResults(true, null); InternalDistributedMember primmy = bucketToMonitor.getBucketAdvisor().getPrimary(); if (primmy == null) {
InternalDistributedMember otherPrimary = getPrimary(); if (otherPrimary != null && !getDistributionManager().getId().equals(otherPrimary)) { if (logger.isDebugEnabled()) {
target = getOwnerForKey(r, key); } else if (r instanceof BucketRegion) { target = ((BucketRegion) r).getBucketAdvisor().getPrimary();
@Override public PRLoad getLoad(PartitionedRegion pr) { PartitionedRegionDataStore ds = pr.getDataStore(); int configuredBucketCount = pr.getTotalNumberOfBuckets(); PRLoad prLoad = new PRLoad(configuredBucketCount, pr.getLocalMaxMemory()); // key: bid, value: size for (Integer bidInt : ds.getAllLocalBucketIds()) { int bid = bidInt.intValue(); BucketAdvisor bucketAdvisor = pr.getRegionAdvisor().getBucket(bid).getBucketAdvisor(); // Wait for a primary to exist for this bucket, because // it might be this member. bucketAdvisor.getPrimary(); boolean isPrimary = pr.getRegionAdvisor().getBucket(bid).getBucketAdvisor().isPrimary(); prLoad.addBucket(bid, 1, isPrimary ? 1 : 0); } return prLoad; }
@Override public PRLoad getLoad(PartitionedRegion pr) { PartitionedRegionDataStore ds = pr.getDataStore(); int configuredBucketCount = pr.getTotalNumberOfBuckets(); PRLoad prLoad = new PRLoad(configuredBucketCount, pr.getLocalMaxMemory()); // key: bid, value: size for (Integer bidInt : ds.getAllLocalBucketIds()) { int bid = bidInt.intValue(); long bucketSize = ds.getBucketSize(bid); if (bucketSize < MIN_BUCKET_SIZE) { bucketSize = MIN_BUCKET_SIZE; } BucketAdvisor bucketAdvisor = pr.getRegionAdvisor().getBucket(bid).getBucketAdvisor(); // Wait for a primary to exist for this bucket, because // it might be this member. bucketAdvisor.getPrimary(); boolean isPrimary = pr.getRegionAdvisor().getBucket(bid).getBucketAdvisor().isPrimary(); prLoad.addBucket(bid, bucketSize, isPrimary ? 1 : 0); } return prLoad; }