code: public void checkpoint() throws TransactionFailureException {
      Preconditions.checkState(currentTx != null, "Cannot checkpoint tx that has not been started");
      persist();
      try {
        currentTx = txClient.checkpoint(currentTx);
        // update the current transaction with all TransactionAwares
        for (TransactionAware txAware : txAwares) {
          txAware.updateTx(currentTx);
        }
      } catch (TransactionNotInProgressException e) {
        String message = String.format("Transaction %d is not in progress.", currentTx.getTransactionId());
        LOG.warn(message, e);
        abort(new TransactionFailureException(message, e));
        // abort will throw that exception
      } catch (Throwable e) {
        String message = String.format("Exception from checkpoint for transaction %d.", currentTx.getTransactionId());
        LOG.warn(message, e);
        abort(new TransactionFailureException(message, e));
        // abort will throw that exception
      }
    }
docs: Checkpoints the current transaction by flushing any pending writes for the registered {@link TransactionAware}
  instances, and obtaining a new current write pointer for the transaction.  By performing a checkpoint,
  the client can ensure that all previous writes were flushed and are visible.  By default, the current write
  pointer for the transaction is also visible.  The current write pointer can be excluded from read
  operations by calling {@link Transaction#setVisibility(Transaction.VisibilityLevel)} with the visibility level set
  to {@link Transaction.VisibilityLevel#SNAPSHOT_EXCLUDE_CURRENT} on the {@link Transaction} instance created
  by the checkpoint call, which can be retrieved by calling {@link #getCurrentTransaction()}.
  
  After the checkpoint operation is performed, the updated
  {@link Transaction} instance will be passed to {@link TransactionAware#startTx(Transaction)} for each
  registered {@code TransactionAware} instance.
  
  @throws TransactionFailureException if an error occurs while performing the checkpoint