Packages

package error

Type Members

  1. class TransactionCommitAmbiguousException extends TransactionFailedException

    The transaction expired at the point of trying to commit it.

    The transaction expired at the point of trying to commit it. It is ambiguous whether the transaction has committed or not.

    This error is result of inevitable and unavoidable edge cases when working with unreliable networks. For example, consider an ordinary mutation being made over the network to any database. The mutation could succeed on the database-side, and then just before the result is returned to the client, the network connection drops. The client cannot receive the success result and will timeout - it is ambiguous to it whether the mutation succeeded or not.

    The transactions layer will work to resolve the ambiguity up until the transaction expires, but if unable to resolve it in that time, it is forced to raise this error. The transaction may or may not have been successful, and error-handling of this is highly application-dependent.

    The asynchronous cleanup process will try to complete the transaction: roll it back if it didn't commit, roll it forwards if it did.

  2. class TransactionExpiredException extends TransactionFailedException

    The transaction could not be fully completed in the configured timeout.

    The transaction could not be fully completed in the configured timeout.

    It is in an undefined state, but it unambiguously did not reach the commit point. No actors will be able to see the contents of this transaction.

  3. class TransactionFailedException extends CouchbaseException

    The transaction failed to reach the Committed point.

    The transaction failed to reach the Committed point.

    No actors can see any changes made by this transaction.

Ungrouped