/** * 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 existing primary (if it is still in the view) otherwise null */ private InternalDistributedMember getExistingPrimary() { return basicGetPrimaryMember(); }
private void waitIfNoPrimaryMemberFound() { synchronized (BucketAdvisor.this) { if (basicGetPrimaryMember() == null) { waitForPrimaryMember(100); if (basicGetPrimaryMember() == null) { findAndSetPrimaryMember(); } } } }
ProxyBucketRegion pbr = this.buckets[i]; InternalDistributedMember p = pbr.getBucketAdvisor().basicGetPrimaryMember(); if (p != null) { Integer count = memberToPrimaryCount.get(p);
@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); }
private boolean continueVolunteering() { synchronized (BucketAdvisor.this) { // false if caller is not the volunteeringThread if (!Thread.currentThread().equals(this.volunteeringThread)) { return false; } if (!isVolunteering() && !isBecomingPrimary()) { return false; } // false if primaryMember is not null if (!isAggressive() && basicGetPrimaryMember() != null) { return false; } // false if this member is already primary if (isPrimary()) { return false; } // false if closed if (isClosed()) { return false; } // false if no longer hosting if (!isHosting()) { return false; } // must be true... need to continue volunteering return true; } }
public void checkForPrimary() { final boolean isp = getBucketAdvisor().isPrimary(); if (!isp) { this.partitionedRegion.checkReadiness(); checkReadiness(); InternalDistributedMember primaryHolder = getBucketAdvisor().basicGetPrimaryMember(); throw new PrimaryBucketException( "Bucket " + getName() + " is not primary. Current primary holder is " + primaryHolder); } }
InternalDistributedMember primary = basicGetPrimaryMember(); HashSet hostsAndProxyMembers = new HashSet(); if (primary != null && !primary.equals(getDistributionManager().getId())) {
break; // early out... all bucket regions are gone or we closed InternalDistributedMember primary = basicGetPrimaryMember(); if (primary != null) { return primary;
.basicGetPrimaryMember() == null) { throw new EntryNotFoundException( String.format("Entry not found for key %s",
@Override public void initialize(InputStream snapshotInputStream, InternalDistributedMember imageTarget, InternalRegionArguments internalRegionArgs) throws TimeoutException, IOException, ClassNotFoundException { // Set this region in the ProxyBucketRegion early so that profile exchange will // perform the correct fillInProfile method getBucketAdvisor().getProxyBucketRegion().setBucketRegion(this); boolean success = false; try { final InternalDistributedMember primaryHolder = getBucketAdvisor().basicGetPrimaryMember(); if (primaryHolder != null && !primaryHolder.equals(getMyId())) { // Ignore the provided image target, use an existing primary (if any) super.initialize(snapshotInputStream, primaryHolder, internalRegionArgs); } else { super.initialize(snapshotInputStream, imageTarget, internalRegionArgs); } success = true; } finally { if (!success) { removeFromPeersAdvisors(false); getBucketAdvisor().getProxyBucketRegion().clearBucketRegion(this); } } }