private void waitIfNoPrimaryMemberFound() { synchronized (BucketAdvisor.this) { if (basicGetPrimaryMember() == null) { waitForPrimaryMember(100); if (basicGetPrimaryMember() == null) { findAndSetPrimaryMember(); } } } }
/** * 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 InternalDistributedMember waitForNewPrimary() { DistributionManager dm = this.regionAdvisor.getDistributionManager(); DistributionConfig config = dm.getConfig(); // failure detection period long timeout = config.getMemberTimeout() * 3L; // plus time for a new member to become primary timeout += Long.getLong(DistributionConfig.GEMFIRE_PREFIX + "BucketAdvisor.getPrimaryTimeout", 15000L); InternalDistributedMember newPrimary = waitForPrimaryMember(timeout); return newPrimary; }