t

com.digitalasset.canton.store

PendingOperationStore

trait PendingOperationStore[Op <: HasProtocolVersionedWrapper[Op]] extends AnyRef

Op

A protobuf message that implements com.digitalasset.canton.version.HasProtocolVersionedWrapper that contains the relevant data for executing the pending operation.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PendingOperationStore
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def delete(synchronizerId: SynchronizerId, operationKey: String, operationName: NonEmptyString)(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit]

    Deletes a pending operation identified by its unique composite key (synchronizerId, operationKey, operationName).

    Deletes a pending operation identified by its unique composite key (synchronizerId, operationKey, operationName).

    This operation is idempotent. It succeeds regardless of whether the record existed prior to the call.

    synchronizerId

    The ID of the synchronizer scoping the operation application.

    operationKey

    A key to distinguish between multiple instances of the same operation.

    operationName

    The name of the operation to be executed.

    traceContext

    The context for tracing and logging.

    returns

    A future that completes when the deletion has finished.

  2. abstract def get(synchronizerId: SynchronizerId, operationKey: String, operationName: NonEmptyString)(implicit traceContext: TraceContext): OptionT[FutureUnlessShutdown, PendingOperation[Op]]

    Fetches a pending operation by its unique composite key (synchronizerId, operationKey, operationName).

    Fetches a pending operation by its unique composite key (synchronizerId, operationKey, operationName).

    synchronizerId

    The ID of the synchronizer scoping the operation application.

    operationKey

    A key to distinguish between multiple instances of the same operation.

    operationName

    The name of the operation to be executed.

    traceContext

    The context for tracing and logging.

    returns

    A future that completes with Some(operation) if found and valid, None if not found, or fails with a DbDeserializationException if the stored data is corrupt.

  3. abstract def insert(operation: PendingOperation[Op])(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, ConflictingPendingOperationError, Unit]

    Atomically stores a pending operation, returning an error if a conflicting operation already exists.

    Atomically stores a pending operation, returning an error if a conflicting operation already exists.

    This check-and-insert operation is performed within a serializable transaction to prevent race conditions. The behavior depends on whether an operation with the same unique key (synchronizerId, key, name) already exists in the store:

    • If no operation with the key exists, the new operation is inserted.
    • If an identical operation already exists, the operation succeeds without making changes.
    • If an operation with the same key but different data exists, the operation fails with an error.
    operation

    The PendingOperation to insert.

    traceContext

    The context for tracing and logging.

    returns

    An EitherT that completes with:

    • Right(()) if the operation was successfully stored or an identical one already existed.
    • Left(ConflictingPendingOperationError) if a conflicting operation was found.
  4. abstract def opCompanion: VersioningCompanion[Op]
    Attributes
    protected

Concrete 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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

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 AnyRef

Inherited from Any

Ungrouped