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.
- Alphabetic
- By Inheritance
- TransactionCommitAmbiguousException
- TransactionFailedException
- CouchbaseException
- RuntimeException
- Exception
- Throwable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def addSuppressed(arg0: Throwable): Unit
- Definition Classes
- Throwable
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def context(): ErrorContext
- Definition Classes
- CouchbaseException
- Annotations
- @Uncommitted()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fillInStackTrace(): Throwable
- Definition Classes
- Throwable
- def getCause(): Throwable
- Definition Classes
- Throwable
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def getLocalizedMessage(): String
- Definition Classes
- Throwable
- final def getMessage(): String
- Definition Classes
- CouchbaseException → Throwable
- def getStackTrace(): Array[StackTraceElement]
- Definition Classes
- Throwable
- final def getSuppressed(): Array[Throwable]
- Definition Classes
- Throwable
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def initCause(arg0: Throwable): Throwable
- Definition Classes
- Throwable
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def printStackTrace(arg0: PrintWriter): Unit
- Definition Classes
- Throwable
- def printStackTrace(arg0: PrintStream): Unit
- Definition Classes
- Throwable
- def printStackTrace(): Unit
- Definition Classes
- Throwable
- def setStackTrace(arg0: Array[StackTraceElement]): Unit
- Definition Classes
- Throwable
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Throwable → AnyRef → Any
- def transactionId(): String
- Definition Classes
- TransactionFailedException
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)