ThreadBusy
The thread is held, so the call was refused: another run is still executing on it in this runtime, another runtime or process holds a live claim on it (RunClaim), or it claimed the thread between this call reading it and claiming it; or the call's own claim lapsed before its write landed. start, recover, resume, deleteThread, updateState and fork (on its target thread) are refused this way, so it is recoverable: retry once that run has suspended or completed, or once its claim has expired. A refusal up front accepted, applied and discarded nothing. A BusyHolder.Lapsed refusal is the exception: a write the call had already sent may still land.
holder says who holds the thread as far as the caller may know (BusyHolder): a run's id when it is known and of the caller's tenant - a run of this runtime, or a claim recorded for the caller's tenant - and the thread's latest checkpoint, if any, is the caller's tenant's; BusyHolder.Unnamed when another run holds it but cannot be named, such as another tenant's; and BusyHolder.Lapsed when it is the call's own claim that lapsed, with no other run known to hold the thread. A caller of another tenant is refused with TenantMismatch instead, and learns nothing.
Attributes
- Graph
-
- Supertypes
-
trait RecoverableErrortrait GraphErrortrait LLMErrortrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any