code: @Override
    public boolean saveDigestAndRenameCheckpointImage(long txid, MD5Hash digest) {
      try {
        LOG.info("Saving md5: " + digest + " for txid: " + txid);
        QuorumCall<AsyncLogger, Void> q = loggers
            .saveDigestAndRenameCheckpointImage(txid, digest);
        loggers.waitForWriteQuorum(q, writeTxnsTimeoutMs,
            "saveDigestAndRenameCheckpointImage(" + txid + ")");
        return true;
      } catch (IOException e) {
        LOG.error("Exception when rolling the image:", e);
        return false;
      }
    }
docs: Roll image and save md5 digest to the underlying nodes. This is a quorum
  roll, and we ensure that it can succeed only on the nodes that consumed
  entirely the uploaded image.