@VisibleForTesting void triggerHeartbeatForTests() { synchronized (ibrManager) { final long nextHeartbeatTime = scheduler.scheduleHeartbeat(); ibrManager.notifyAll(); while (nextHeartbeatTime - scheduler.nextHeartbeatTime >= 0) { try { ibrManager.wait(100); } catch (InterruptedException e) { return; } } } }
/** * Run an immediate block report on this thread. Used by tests. */ @VisibleForTesting void triggerBlockReportForTests() { synchronized (ibrManager) { scheduler.scheduleHeartbeat(); long oldBlockReportTime = scheduler.nextBlockReportTime; scheduler.forceFullBlockReportNow(); ibrManager.notifyAll(); while (oldBlockReportTime == scheduler.nextBlockReportTime) { try { ibrManager.wait(100); } catch (InterruptedException e) { return; } } } }
@VisibleForTesting void triggerHeartbeatForTests() { synchronized (ibrManager) { final long nextHeartbeatTime = scheduler.scheduleHeartbeat(); ibrManager.notifyAll(); while (nextHeartbeatTime - scheduler.nextHeartbeatTime >= 0) { try { ibrManager.wait(100); } catch (InterruptedException e) { return; } } } }
/** * Run an immediate block report on this thread. Used by tests. */ @VisibleForTesting void triggerBlockReportForTests() { synchronized (ibrManager) { scheduler.scheduleHeartbeat(); long nextBlockReportTime = scheduler.scheduleBlockReport(0); ibrManager.notifyAll(); while (nextBlockReportTime - scheduler.nextBlockReportTime >= 0) { try { ibrManager.wait(100); } catch (InterruptedException e) { return; } } } }
/** * Run an immediate block report on this thread. Used by tests. */ @VisibleForTesting void triggerBlockReportForTests() { synchronized (ibrManager) { scheduler.scheduleHeartbeat(); long nextBlockReportTime = scheduler.scheduleBlockReport(0); ibrManager.notifyAll(); while (nextBlockReportTime - scheduler.nextBlockReportTime >= 0) { try { ibrManager.wait(100); } catch (InterruptedException e) { return; } } } }
void reRegister() throws IOException { if (shouldRun()) { // re-retrieve namespace info to make sure that, if the NN // was restarted, we still match its version (HDFS-2120) NamespaceInfo nsInfo = retrieveNamespaceInfo(); // and re-register register(nsInfo); scheduler.scheduleHeartbeat(); // HDFS-9917,Standby NN IBR can be very huge if standby namenode is down // for sometime. if (state == HAServiceState.STANDBY) { ibrManager.clearIBRs(); } } }
void reRegister() throws IOException { if (shouldRun()) { // re-retrieve namespace info to make sure that, if the NN // was restarted, we still match its version (HDFS-2120) NamespaceInfo nsInfo = retrieveNamespaceInfo(); // and re-register register(nsInfo); scheduler.scheduleHeartbeat(); // HDFS-9917,Standby NN IBR can be very huge if standby namenode is down // for sometime. if (state == HAServiceState.STANDBY) { ibrManager.clearIBRs(); } } }
@VisibleForTesting void triggerHeartbeatForTests() { synchronized (ibrManager) { final long nextHeartbeatTime = scheduler.scheduleHeartbeat(); ibrManager.notifyAll(); while (nextHeartbeatTime - scheduler.nextHeartbeatTime >= 0) { try { ibrManager.wait(100); } catch (InterruptedException e) { return; } } } }
@Test public void testScheduleHeartbeat() { for (final long now : getTimestamps()) { Scheduler scheduler = makeMockScheduler(now); scheduler.scheduleNextHeartbeat(); assertFalse(scheduler.isHeartbeatDue(now)); scheduler.scheduleHeartbeat(); assertTrue(scheduler.isHeartbeatDue(now)); } }
void reRegister() throws IOException { if (shouldRun()) { // re-retrieve namespace info to make sure that, if the NN // was restarted, we still match its version (HDFS-2120) NamespaceInfo nsInfo = retrieveNamespaceInfo(); // and re-register register(nsInfo); scheduler.scheduleHeartbeat(); // HDFS-9917,Standby NN IBR can be very huge if standby namenode is down // for sometime. if (state == HAServiceState.STANDBY) { ibrManager.clearIBRs(); } } }