public synchronized void start() throws IllegalStateException {
    if (this.start >= 0) {
      LOG.warn("Timer already started, can't be started again. Ignoring second request.");
      return;
    }
    LOG.debug("Scheduling process timer to run in: " + maxTime + " ms");
    timer.schedule(timerTask, maxTime);
    this.start = EnvironmentEdgeManager.currentTime();
  }
Start a timer to fail a process if it takes longer than the expected time to complete.
<p>
Non-blocking.
@throws IllegalStateException if the timer has already been marked done via {@link #complete()}
                              or {@link #trigger()}
hbase-server/src/main/java/org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.java