BusyHolder

org.llm4s.agent.graph.GraphError.BusyHolder
enum BusyHolder

Who holds a thread that a call was refused with ThreadBusy, as far as the caller may know.

Attributes

Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Type members

Enum entries

case Lapsed extends BusyHolder

No other run is known to hold the thread: the call's own claim was lost - its lease passed with no renewal landing, or the store found no current claim - before its write was known to land. A write not yet sent was never applied; one already in the store when the loss was found may still land, fenced by the claim's token, so read the thread before retrying. A retry may still be refused: by this call's own claim until its release lands, or by another run that took the thread over meanwhile.

No other run is known to hold the thread: the call's own claim was lost - its lease passed with no renewal landing, or the store found no current claim - before its write was known to land. A write not yet sent was never applied; one already in the store when the loss was found may still land, fenced by the claim's token, so read the thread before retrying. A retry may still be refused: by this call's own claim until its release lands, or by another run that took the thread over meanwhile.

Attributes

final case class Run(runId: RunId)

Run runId holds the thread: it is executing in this runtime, or holds a live claim on it. Named only when it is of the caller's tenant - a run of this runtime with the caller's tenant, or a claim the store recorded for the caller's tenant (ClaimRequest.tenantId) - and the thread's latest checkpoint, if it has one, is the caller's tenant's too.

Run runId holds the thread: it is executing in this runtime, or holds a live claim on it. Named only when it is of the caller's tenant - a run of this runtime with the caller's tenant, or a claim the store recorded for the caller's tenant (ClaimRequest.tenantId) - and the thread's latest checkpoint, if it has one, is the caller's tenant's too.

Attributes

case Unnamed extends BusyHolder

Another run holds the thread, or took it over, but is not named: its claim is another tenant's, or recorded no tenant (a claim persisted before claims carried one); or the store refused the call's write as stale naming only the claim that replaced its own.

Another run holds the thread, or took it over, but is not named: its claim is another tenant's, or recorded no tenant (a claim persisted before claims carried one); or the store refused the call's write as stale naming only the claim that replaced its own.

Attributes