pub enum EngineError {
Show 41 variants
MissingStore,
MissingVisibilityStore,
Load {
reason: String,
},
UnknownVersion {
workflow_type: String,
version: ContentHash,
loaded: String,
},
VersionPinned {
workflow_type: String,
version: ContentHash,
pinned_by: PinHolder,
},
RouteActive {
workflow_type: String,
version: ContentHash,
},
ManifestMismatch {
workflow_type: String,
version: ContentHash,
resident_digest: String,
incoming_digest: String,
},
ConflictingEventPublisher,
EventStreaming(PublishError),
Store(StoreError),
Durability(DurabilityError),
Package(PackageError),
Runtime {
reason: String,
},
Gate3BifReplacementMissing {
module: String,
function: String,
arity: u8,
},
CleanupExecutorPoisoned,
CleanupExecutorShutdownTimedOut {
timeout_millis: u128,
},
ProcessExitRegistryPoisoned,
ProcessExitOwnershipPoisoned {
process_id: u64,
},
ProcessExitStatePoisoned {
process_id: u64,
},
ProcessExitSubscriptionUnavailable,
ProcessExitDrainerSpawn {
reason: String,
},
ProcessExitDrainerPoisoned,
ProcessExitOutcomeMissingAfterEvent {
process_id: u64,
},
ProcessExitEventStreamDisconnected,
ProcessExitDrainerShutdownTimedOut {
timeout_millis: u128,
},
ProcessExitDrainerPanicked,
ProcessExitCallbackDispatcherPoisoned,
ProcessExitCallbackDispatcherUnavailable,
ProcessExitCallbackDispatcherShutdownTimedOut {
timeout_millis: u128,
},
ProcessExitAlreadyTerminal {
process_id: u64,
},
ActivityDeliveryPoisoned {
process_id: u64,
},
RegistryPoisoned,
CatalogPoisoned,
InvalidState {
reason: String,
},
ShuttingDown,
WorkflowNotFound {
workflow_type: String,
},
ScheduleNotFound {
schedule_id: ScheduleId,
},
Schedule {
reason: String,
},
NifRegistration {
reason: String,
},
SignalRouter(SignalRouterError),
Query(QueryError),
}Expand description
Errors returned by the embedded workflow engine.
Variants§
MissingStore
The builder was asked to construct an engine without an event store.
MissingVisibilityStore
The builder was asked to construct an engine without a visibility store.
Load
A workflow package failed to load or validate for engine registration.
UnknownVersion
A route or unload targeted a (workflow type, version) that is not loaded.
Fields
version: ContentHashContent-hash version requested by the caller.
VersionPinned
An unload was refused because something still pins the version.
Fields
version: ContentHashContent-hash version targeted by the unload.
RouteActive
An unload was refused because the version is route-active for its type.
Fields
version: ContentHashContent-hash version targeted by the unload.
ManifestMismatch
An idempotent re-load presented the resident content hash with a different manifest. The content hash covers the canonical beam set only, so this is the wrong-deploy tripwire: the resident version is retained untouched and the incoming archive is refused.
Fields
version: ContentHashContent-hash version shared by both archives.
ConflictingEventPublisher
The builder was given both event_streaming and an explicit event-publisher seam.
EventStreaming(PublishError)
Live event streaming setup failed.
Store(StoreError)
The configured event store returned an error.
Durability(DurabilityError)
The durability recorder or replay path returned an error.
Package(PackageError)
A .aion package operation returned an error.
Runtime
The embedded runtime returned an error.
Gate3BifReplacementMissing
A Gate-3 BIF required for tracked local fun spawns was not registered.
Fields
CleanupExecutorPoisoned
The runtime-owned cleanup executor’s ownership state was poisoned.
CleanupExecutorShutdownTimedOut
The runtime cleanup worker did not stop within the configured bound.
ProcessExitRegistryPoisoned
The process-exit registry lifecycle lock was poisoned.
ProcessExitOwnershipPoisoned
A process exit record’s installation/abort ownership gate was poisoned.
ProcessExitStatePoisoned
A process exit record’s fan-out state was poisoned.
The scheduler’s one exit-event subscription was already claimed.
ProcessExitDrainerSpawn
The singleton process-exit drainer could not be spawned.
ProcessExitDrainerPoisoned
The singleton process-exit drainer’s ownership lock was poisoned.
ProcessExitOutcomeMissingAfterEvent
beamr published an exit event without the promised durable outcome.
ProcessExitEventStreamDisconnected
beamr disconnected its event publisher while the runtime still owned it.
ProcessExitDrainerShutdownTimedOut
The process-exit drainer did not stop within the configured bound.
ProcessExitDrainerPanicked
The process-exit drainer thread panicked.
ProcessExitCallbackDispatcherPoisoned
The process-exit callback dispatcher’s ownership state was poisoned.
The process-exit callback dispatcher had already stopped.
ProcessExitCallbackDispatcherShutdownTimedOut
The process-exit callback dispatcher did not stop within its configured bound.
ProcessExitAlreadyTerminal
A retired process generation cannot accept another outcome consumer.
ActivityDeliveryPoisoned
A workflow’s activity-delivery synchronization lock was poisoned.
RegistryPoisoned
The active workflow registry lock was poisoned.
CatalogPoisoned
The workflow catalog lock was poisoned.
InvalidState
A precondition on the target workflow’s current state was not met.
Raised by the reopen operation when the target run is not in a reopenable
state: not terminal, terminal for a non-reopenable reason
(Completed/TimedOut), or already Running. The reason names the actual
status so callers and operators can see why the reopen was rejected. Maps
to the INVALID_STATE wire code (gRPC FailedPrecondition / HTTP 409).
ShuttingDown
The engine is already shutting down and no new workflow starts are accepted.
WorkflowNotFound
No live, durable, or loaded workflow was found for the request.
ScheduleNotFound
No durable schedule was found for the request.
Fields
schedule_id: ScheduleIdSchedule identifier requested by the caller.
Schedule
Schedule trigger, projection, or evaluator side effect failed.
NifRegistration
Native implemented function registration failed.
SignalRouter(SignalRouterError)
Signal routing failed after the target was resolved.
Query(QueryError)
Live workflow query dispatch failed after the target was resolved.
Trait Implementations§
Source§impl Debug for EngineError
impl Debug for EngineError
Source§impl Display for EngineError
impl Display for EngineError
Source§impl Error for EngineError
impl Error for EngineError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()