@Test
public void setLoadFSEditLogThrottling() throws Exception {

  FSNamesystem namesystem = mock(FSNamesystem.class);
  namesystem.dir = mock(FSDirectory.class);
  FakeTimer timer = new FakeTimer();
  FSEditLogLoader loader = new FSEditLogLoader(namesystem, 0, timer);
  LogCapturer capture = LogCapturer.captureLogs(FSImage.LOG);
  loader.loadFSEdits(getFakeEditLogInputStream(1, 10), 1);
  assertTrue(capture.getOutput().contains("Start loading edits file " +
      FAKE_EDIT_STREAM_NAME));
  assertTrue(capture.getOutput().contains("Loaded 1 edits file(s)"));
  assertFalse(capture.getOutput().contains("suppressed"));
  timer.advance(FSEditLogLoader.LOAD_EDIT_LOG_INTERVAL_MS / 2);
  capture.clearOutput();
  loader.loadFSEdits(getFakeEditLogInputStream(11, 20), 11);
  assertFalse(capture.getOutput().contains("Start loading edits file"));
  assertFalse(capture.getOutput().contains("edits file(s)"));
  timer.advance(FSEditLogLoader.LOAD_EDIT_LOG_INTERVAL_MS);
  capture.clearOutput();
  loader.loadFSEdits(getFakeEditLogInputStream(21, 30), 21);
  assertTrue(capture.getOutput().contains("Start loading edits file " +
      FAKE_EDIT_STREAM_NAME));
  assertTrue(capture.getOutput().contains("suppressed logging 1 times"));
  assertTrue(capture.getOutput().contains("Loaded 2 edits file(s)"));
  assertTrue(capture.getOutput().contains("total size 2.0"));
}