public void join() {
    try {
      completedFuture.join();
    } catch (Throwable throwable) {
      throw normalize(throwable);
    }
  }
Return until completedFuture is done, which means task or process is truly finished
amoro-common/src/main/java/org/apache/amoro/process/SimpleFuture.java