/** * Returns the total number of datastores hosting an instance of this bucket. * * @return the total number of datastores hosting an instance of this bucket */ public int getBucketOwnersCount() { return this.advisor.getBucketRedundancy() + 1; }
/** * Get the redundancy of the this bucket, taking into account the local bucket, if any. * * @return number of redundant copies for a given bucket, or -1 if there are no instances of the * bucket. */ public int getBucketRedundancy() { return getBucketAdvisor().getBucketRedundancy(); }
@Test public void shouldBeMockable() throws Exception { BucketAdvisor mockBucketAdvisor = mock(BucketAdvisor.class); InternalDistributedMember mockInternalDistributedMember = mock(InternalDistributedMember.class); when(mockBucketAdvisor.basicGetPrimaryMember()).thenReturn(mockInternalDistributedMember); when(mockBucketAdvisor.getBucketRedundancy()).thenReturn(1); assertThat(mockBucketAdvisor.basicGetPrimaryMember()).isEqualTo(mockInternalDistributedMember); assertThat(mockBucketAdvisor.getBucketRedundancy()).isEqualTo(1); }
try { for (;;) { if (getBucketRedundancy() >= minRedundancy) { return true;
private void putIntoBucketRegionQueue(AbstractBucketRegionQueue brq, Object key, GatewaySenderEventImpl value) { boolean addedValueToQueue = false; try { if (brq != null) { addedValueToQueue = brq.addToQueue(key, value); // TODO: During merge, ParallelWANstats test failed. On // comment below code test passed. cheetha does not have below code. // need to find out from hcih revision this code came } } catch (BucketNotFoundException e) { if (logger.isDebugEnabled()) { logger.debug("For bucket {} the current bucket redundancy is {}", brq.getId(), brq.getPartitionedRegion().getRegionAdvisor().getBucketAdvisor(brq.getId()) .getBucketRedundancy()); } } catch (ForceReattemptException e) { if (logger.isDebugEnabled()) { logger.debug( "getInitializedBucketForId: Got ForceReattemptException for {} for bucket = {}", this, brq.getId()); } } finally { if (!addedValueToQueue) { value.release(); } } }
protected void createMissingBuckets(PartitionedRegion region) { PartitionedRegion parentRegion = ColocationHelper.getColocatedRegion(region); if (parentRegion == null) { return; } // Fix for 48954 - Make sure the parent region has created missing buckets // before we create missing buckets for this child region. createMissingBuckets(parentRegion); for (int i = 0; i < region.getTotalNumberOfBuckets(); i++) { if (parentRegion.getRegionAdvisor().getBucketAdvisor(i).getBucketRedundancy() != region .getRegionAdvisor().getBucketAdvisor(i).getBucketRedundancy()) { /* if (leaderRegion.getRegionAdvisor().isStorageAssignedForBucket(i)) { */ final long startTime = PartitionedRegionStats.startTime(); region.getRedundancyProvider().createBucketAtomically(i, 0, startTime, true, null); } } } }
public boolean checkBucketRedundancyBeforeGrab(InternalDistributedMember moveSource, boolean replaceOfflineData) { int redundancy = getBucketAdvisor().getBucketRedundancy();
if (getBucketRedundancy() == -1) { break; if (getBucketRedundancy() == -1 || isClosed()) { break; // early out... all bucket regions are gone or we closed