Packages

c

com.couchbase.client.scala.transactions.error

TransactionCommitAmbiguousException

class TransactionCommitAmbiguousException extends TransactionFailedException

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TransactionCommitAmbiguousException
  2. TransactionFailedException
  3. CouchbaseException
  4. RuntimeException
  5. Exception
  6. Throwable
  7. Serializable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def addSuppressed(arg0: Throwable): Unit
    Definition Classes
    Throwable
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  7. def context(): ErrorContext
    Definition Classes
    CouchbaseException
    Annotations
    @Uncommitted()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def fillInStackTrace(): Throwable
    Definition Classes
    Throwable
  11. def getCause(): Throwable
    Definition Classes
    Throwable
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  13. def getLocalizedMessage(): String
    Definition Classes
    Throwable
  14. final def getMessage(): String
    Definition Classes
    CouchbaseException → Throwable
  15. def getStackTrace(): Array[StackTraceElement]
    Definition Classes
    Throwable
  16. final def getSuppressed(): Array[Throwable]
    Definition Classes
    Throwable
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  18. def initCause(arg0: Throwable): Throwable
    Definition Classes
    Throwable
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def logs(): Iterable[TransactionLogEvent]

    An in-memory log is built up during each transaction.

    An in-memory log is built up during each transaction. The application may want to write this to their own logs, for example upon transaction failure.

    Definition Classes
    TransactionFailedException
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  24. def printStackTrace(arg0: PrintWriter): Unit
    Definition Classes
    Throwable
  25. def printStackTrace(arg0: PrintStream): Unit
    Definition Classes
    Throwable
  26. def printStackTrace(): Unit
    Definition Classes
    Throwable
  27. def setStackTrace(arg0: Array[StackTraceElement]): Unit
    Definition Classes
    Throwable
  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    Throwable → AnyRef → Any
  30. def transactionId(): String
    Definition Classes
    TransactionFailedException
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from CouchbaseException

Inherited from RuntimeException

Inherited from Exception

Inherited from Throwable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped