void shutDownTimer() throws IOException {
   synchronized (lock) {
     isTimerShutDown = true;
     flushTimer.cancel();
     if (flushTimerTask != null && flushTimerTask.getException() != null) {
       throw flushTimerTask.getException();
     }
   }
 }
 void resetFlushTimer() throws IOException {
   if (flushTimerTask != null) {
     IOException exception = flushTimerTask.getException();
     flushTimerTask.stop();
     if (exception != null) {
       throw exception;
     }
     flushTimerTask = null;
   }
   isTimerActive = false;
 }