code: void triggerCheckpoint(boolean uncompressed) throws IOException {
      String pref = "Standby: Checkpoint - ";
      LOG.info(pref + "triggering checkpoint manually");
  
      // check error conditions
      if (uncompressed) {
        throwIOException(pref + " uncompressed option not supported", null);
      }
      if (manualCheckpointLatch.getCount() > 0) {
        throwIOException(pref + "Another manual checkpoint is in progress", null);
      }
      
      // set the manual checkpoint latch
      manualCheckpointLatch = new CountDownLatch(2);
      lastCheckpointTime = delayedScheduledCheckpointTime = 0;
      try {
        manualCheckpointLatch.await();
      } catch (InterruptedException e) {
        throwIOException(pref + "interrupted when performing manual checkpoint",
            e);
      }
      
      // check if checkpoint succeeded
      if (checkpointFailures > 0) {
        throwIOException(pref + "manual checkpoint failed", null);
      }
      LOG.info(pref + "manual checkpoint done");
    }
docs: Trigger checkpoint. If there is an ongoing scheduled checkpoint, this call
  will trigger a checkpoint immediately after. The method blocks until the
  checkpoint is done.