protected void handleCleanerAttemptFailure(CompactionInfo info, String errorMessage) throws MetaException {
    int cleanAttempts = 0;
    info.errorMessage = errorMessage;
    if (info.isAbortedTxnCleanup()) {
      info.retryRetention = info.retryRetention > 0 ? info.retryRetention * 2 : defaultRetention;
      info.errorMessage = errorMessage;
      txnHandler.setCleanerRetryRetentionTimeOnError(info);
    } else {
      if (info.retryRetention > 0) {
        cleanAttempts = (int) (Math.log(info.retryRetention / defaultRetention) / Math.log(2)) + 1;
      }
      if (cleanAttempts >= getIntVar(conf, HIVE_COMPACTOR_CLEANER_MAX_RETRY_ATTEMPTS)) {
        //Mark it as failed if the max attempt threshold is reached.
        txnHandler.markFailed(info);
      } else {
        //Calculate retry retention time and update record.
        info.retryRetention = (long) Math.pow(2, cleanAttempts) * defaultRetention;
        txnHandler.setCleanerRetryRetentionTimeOnError(info);
      }
    }
  }
An abstract class which defines the list of utility methods for performing cleanup activities.
ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/handler/TaskHandler.java