async Task <bool> TryCheckpoint(IPendingConfirmation confirmation) { _cancellationTokenSource.Token.ThrowIfCancellationRequested(); LogContext.Debug?.Log("Partition: {PartitionId} updating checkpoint with offset: {Offset}", confirmation.Partition.PartitionId, confirmation.Offset); try { await confirmation.Checkpoint(_cancellationTokenSource.Token).ConfigureAwait(false); return(true); } catch (Exception exception) { LogContext.Error?.Log(exception, "Partition: {PartitionId} checkpoint failed with offset: {Offset}", confirmation.Partition, confirmation.Offset); confirmation.Faulted(exception); return(false); } }