Class TimeoutExceptionInjector

java.lang.Object
org.apache.hadoop.hbase.errorhandling.TimeoutExceptionInjector

@Private public class TimeoutExceptionInjector extends Object
Time a given process/operation and report a failure if the elapsed time exceeds the max allowed time.

The timer won't start tracking time until calling start(). If complete() or trigger() is called before start(), calls to start() will fail.

  • Field Details

  • Constructor Details

    • TimeoutExceptionInjector

      public TimeoutExceptionInjector(ForeignExceptionListener listener, long maxTime)
      Create a generic timer for a task/process.
      Parameters:
      listener - listener to notify if the process times out
      maxTime - max allowed running time for the process. Timer starts on calls to start()
  • Method Details

    • getMaxTime

      public long getMaxTime()
    • complete

      public void complete()
      For all time forward, do not throw an error because the process has completed.
    • start

      public void start() throws IllegalStateException
      Start a timer to fail a process if it takes longer than the expected time to complete.

      Non-blocking.

      Throws:
      IllegalStateException - if the timer has already been marked done via complete() or trigger()
    • trigger

      public void trigger()
      Trigger the timer immediately.

      Exposed for testing.