private void runDelayedMoveThread() {
    while (true) {
      try {
        Thread.sleep(delayedMoveValidationIntervalSec * 1000);
        currentLock.lock();
        LOG.info("Retry delayed moves and check for expired delayed moves.");
        notifyWmThreadUnderLock();
      } catch (InterruptedException ex) {
        LOG.warn("WM Delayed Move thread was interrupted and will now exit");
        return;
      } finally {
        currentLock.unlock();
      }
    }
  }
The work delegated from the master thread that doesn't have an async implementation
(mostly opening and closing the sessions).
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java