Packages

case class TransactionsConfig extends Product with Serializable

Provides all configurable parameters for Couchbase transactions.

Linear Supertypes
Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TransactionsConfig
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def cleanupConfig(config: TransactionsCleanupConfig): TransactionsConfig

    Configures transaction cleanup.

  2. def durabilityLevel(durabilityLevel: DurabilityLevel): TransactionsConfig

    All transaction writes will be performed with this durability setting.

    All transaction writes will be performed with this durability setting.

    The default setting is DurabilityLevel.MAJORITY, meaning a transaction will pause on each write until it is available in-memory on a majority of configured replicas.

    DurabilityLevel.NONE is not supported and provides no ACID transactional guarantees.

  3. def metadataCollection(collection: TransactionKeyspace): TransactionsConfig

    Allows setting a custom collection to use for any transactional metadata documents.

    Allows setting a custom collection to use for any transactional metadata documents.

    If not set, it will default to creating these documents in the default collection of the bucket that the first mutated document in the transaction is on.

    This collection will be added to the set of collections being cleaned up.

  4. def productElementNames: Iterator[String]
    Definition Classes
    Product
  5. def queryConfig(queryConfig: TransactionsQueryConfig): TransactionsConfig

    Sets the default query configuration for all transactions.

    Sets the default query configuration for all transactions.

    queryConfig

    the query configuration to use

    returns

    this, for chaining

  6. def timeout(timeout: Duration): TransactionsConfig

    Sets the maximum time that transactions can run for.

    Sets the maximum time that transactions can run for. The default is 15 seconds. After this time, the transaction will abort. Note that this could be mid-commit, in which case the cleanup process will complete the transaction asynchronously at a later point.

    Applications can increase or decrease this as desired. The trade-off to understand is that documents that are being mutated in a transaction A, are effectively locked from being updated by other transactions until transaction A has completed - committed or rolled back. If transaction A is unable to complete for whatever reason, the document can be locked for this timeout time.