private void commit(FileSystem fs, List<Path> commitPaths, List<Path> deleteDeltas) throws HiveException {
      for (int idx = 0; idx < outPaths.length; ++idx) {
        try {
          if (outPaths[idx] != null) {
            commitOneOutPath(idx, fs, commitPaths);
          }
        } catch (IOException e) {
          throw new HiveException("Unable to commit output from: " +
              outPaths[idx] + " to: " + finalPaths[idx], e);
        }
      }
      if (isDirectInsert && AcidUtils.Operation.UPDATE.equals(conf.getAcidOperation())) {
        // In case of an update, the outPathsCommitted array only contains the delta directory,
        // but not the delete delta directory. The files from the delete delta directory has to be
        // added to the commitPath list, otherwise it will be cleaned up.
        commitPaths.addAll(deleteDeltas);
      }
    }
For direct write to final path during ACID insert, we create the delta directories
later when we create the RecordUpdater using AcidOutputFormat.Options
ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java