@Override
    protected Void callInternal() {
      LOG.info("External cleanup callable for {}", queryIdentifier);
      ReadWriteLock dagLock = getDagLockNoCreate(queryIdentifier);
      if (dagLock == null) {
        LOG.trace("null dagLock. No cleanup required at the moment for {}", queryIdString);
        return null;
      }
      boolean locked = dagLock.writeLock().tryLock();
      if (!locked) {
        // Something else holds the lock at the moment. Don't bother cleaning up.
        LOG.trace("Lock not obtained. Skipping cleanup for {}", queryIdString);
        return null;
      }
      try {
        // See if there are additional knownFragments. If there are, more fragments came in
        // after this cleanup was scheduled, and there's nothing to be done.
        QueryInfo queryInfo = queryInfoMap.get(queryIdentifier);
        if (queryInfo != null) {
          // QueryInfo will only exist if more work came in, after this was scheduled.
          LOG.trace("QueryInfo found for {}. Expecting future cleanup", queryIdString);
          return null;
        }
        LOG.info("Processing cleanup for {}", queryIdString);
        handleLogOnQueryCompletion(queryIdString, dagIdString);
        removeQuerySpecificLock(queryIdentifier);
      } finally {
        dagLock.writeLock().unlock();
      }
      return null;
    }
Register an update to a source within an executing dag
@param queryIdentifier
@param sourceName
@param sourceState
llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/QueryTracker.java