class PendingCheckpoint {

	public void abort(CheckpointFailureReason reason, @Nullable Throwable cause) {
		try {
			failureCause = new CheckpointException(reason, cause);
			onCompletionPromise.completeExceptionally(failureCause);
			reportFailedCheckpoint(failureCause);
			assertAbortSubsumedForced(reason);
		} finally {
			dispose(true);
		}
	}

	public  PendingCheckpoint(
			JobID jobId,
			long checkpointId,
			long checkpointTimestamp,
			Map<ExecutionAttemptID, ExecutionVertex> verticesToConfirm,
			Collection<OperatorID> operatorCoordinatorsToConfirm,
			Collection<String> masterStateIdentifiers,
			CheckpointProperties props,
			CheckpointStorageLocation targetLocation,
			Executor executor,
			CompletableFuture<CompletedCheckpoint> onCompletionPromise);

}