private void waitIfNoPrimaryMemberFound() { synchronized (BucketAdvisor.this) { if (basicGetPrimaryMember() == null) { waitForPrimaryMember(100); if (basicGetPrimaryMember() == null ) { findAndSetPrimaryMember(); } } } }
private void waitIfNoPrimaryMemberFound() { synchronized (BucketAdvisor.this) { if (basicGetPrimaryMember() == null) { waitForPrimaryMember(100, false); 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 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; }