FulcrumFS FulcrumFS
FulcrumFS FulcrumFS
DocFX + Singulink = ♥

Search Results for

    Event TransactionCompletionFailed

    Occurs when a transaction-completion step (commit or rollback) fails. The handler receives a RepoTransactionCompletionFailureInfo carrying the operation that failed and the underlying exception.

    Namespace: FulcrumFS
    Assembly: FulcrumFS.dll
    Syntax
    event RepoTransactionCompletionFailedHandler? TransactionCompletionFailed
    Returns
    Type Description
    RepoTransactionCompletionFailedHandler Occurs when a transaction-completion step (commit or rollback) fails. The handler receives a carrying the operation that failed and the underlying exception.
    Remarks

    The event fires only for failures of the final commit or rollback step itself, not for exceptions raised while operating on the transaction, which surface directly to the calling code. If several errors occurred during the step, Exception is an AggregateException.

    Completion failures are not thrown, because the affected files remain accessible afterwards and are resolved by the next cleanup pass. Implementations raise the event from the commit or rollback call and await each handler in turn, so a handler that throws makes the exception propagate from that call, and keeps the handlers subscribed after it from being called.

    The event is raised once the commit or rollback has done all it can: every file of the transaction has been committed (or rolled back) or left indeterminate by then. An exception from a handler therefore reaches the caller after the fact and undoes nothing. A caller that sees one from CommitAsync(CancellationToken) or CommitAsync(CancellationToken) must not conclude that the transaction was not committed or was rolled back: its files are accessible, and a cleanup pass resolves those left indeterminate.

    © Singulink. All rights reserved.