public boolean rename()

in hbase-oss/src/main/java/org/apache/hadoop/hbase/oss/HBaseObjectStoreSemantics.java [475:499]


  public boolean rename(Path src, Path dst) throws IOException {
    long startTime = System.currentTimeMillis();
    long lockAcquiredTime = startTime;
    long doneTime = startTime;
    // Future to pass into the AutoLock so it knows if it should clean up.
    final CompletableFuture<Boolean> renameResult = new CompletableFuture<>();
    try (AutoLock l = sync.lockRename(src, dst, renameResult)) {
      lockAcquiredTime = System.currentTimeMillis();
      metrics.updateAcquireRenameLockHisto(lockAcquiredTime- startTime);
      // Defaulting to false in the case that fs.rename throws an exception
      boolean result = false;
      try {
        result = fs.rename(src, dst);
        return result;
      } finally {
        renameResult.complete(result);
        doneTime = System.currentTimeMillis();
        metrics.updateRenameFsOperationHisto(doneTime - lockAcquiredTime);
      }
    }
    finally {
      long releasedLocksTime = System.currentTimeMillis();
      metrics.updateReleaseRenameLockHisto(releasedLocksTime - doneTime);
    }
  }