trait ReassignmentLookup extends AnyRef
- Alphabetic
- By Inheritance
- ReassignmentLookup
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def findAfter(requestAfter: Option[(CantonTimestamp, Source[SynchronizerId])], limit: Int)(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[UnassignmentData]]
Find utility to look for in-flight reassignments.
Find utility to look for in-flight reassignments. Reassignments are ordered by the tuple (request timestamp, source synchronizer id), ie reassignments are ordered by request timestamps and ties are broken with lexicographic ordering on synchronizer ids.
The ordering here has been chosen to allow a participant to fetch all the pending reassignments. The ordering has to be consistent accross calls and uniquely identify a pending reassignment, but is otherwise arbitrary.
- requestAfter
optionally, specify a strict lower bound for the reassignments returned, according to the (request timestamp, source synchronizer id) ordering
- limit
limit the number of results
- abstract def findContractReassignmentId(contractIds: Seq[LfContractId], sourceSynchronizer: Option[Source[SynchronizerId]], unassignmentTs: Option[CantonTimestamp], completionTs: Option[CantonTimestamp])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[LfContractId, Seq[ReassignmentId]]]
Queries the reassignment ids for the given contract ids.
Queries the reassignment ids for the given contract ids. Optional filtering by unassignment and completion (assignment) timestamps, and by source synchronizer.
- abstract def findEarliestIncomplete()(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[(Offset, ReassignmentId, Target[SynchronizerId])]]
Find utility to look for the earliest incomplete reassignment w.r.t.
Find utility to look for the earliest incomplete reassignment w.r.t. the ledger end. If an incomplete reassignment exists, the method returns the global offset of the incomplete reassignment for either the unassignment or the assignment, whichever of these is not null, the reassignment id and the target synchronizer id. It returns None if there is no incomplete reassignment (either because all reassignments are complete or are in-flight, or because there are no reassignments), or the reassignment table is empty.
- abstract def findIncomplete(sourceSynchronizer: Option[Source[SynchronizerId]], validAt: Offset, stakeholders: Option[NonEmpty[Set[LfPartyId]]], limit: NonNegativeInt)(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[IncompleteReassignmentData]]
Find utility to look for incomplete reassignments.
Find utility to look for incomplete reassignments. Reassignments are ordered by global offset.
A reassignment
t
is considered as incomplete at offsetvalidAt
if only one of the two reassignment events was emitted on the indexer atvalidAt
. That is, one of the following hold:- Only unassignment was emitted
t.unassignmentGlobalOffset
is smaller or equal tovalidAt
t.assignmentGlobalOffset
is null or greater thanvalidAt
2. Only assignment was emittedt.assignmentGlobalOffset
is smaller or equal tovalidAt
t.unassignmentGlobalOffset
is null or greater thanvalidAt
In particular, for a reassignment to be considered incomplete at
validAt
, then exactly one of the two offsets (unassignmentGlobalOffset, assignmentGlobalOffset) is not null and smaller or equal tovalidAt
.- sourceSynchronizer
if empty, select only reassignments whose source synchronizer matches the given one
- validAt
select only reassignments that are successfully unassigned
- stakeholders
if non-empty, select only reassignments of contracts whose set of stakeholders intersects
stakeholders
.- limit
limit the number of results
- Only unassignment was emitted
- abstract def findReassignmentEntry(reassignmentId: ReassignmentId)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, UnknownReassignmentId, ReassignmentEntry]
- Annotations
- @VisibleForTesting()
- abstract def listInFlightReassignmentIds()(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[ReassignmentId]]
- Annotations
- @VisibleForTesting()
- abstract def lookup(reassignmentId: ReassignmentId)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, ReassignmentLookupError, UnassignmentData]
Looks up the given in-flight reassignment and returns the data associated with the reassignment.
Looks up the given in-flight reassignment and returns the data associated with the reassignment.
- returns
scala.Left$(ReassignmentStore.UnknownReassignmentId) if the reassignment is unknown; scala.Left$(ReassignmentStore.ReassignmentCompleted) if the reassignment has already been completed.
Concrete 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 asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])