Problem
df.instances.status is 'running' whether the workflow is actively processing or parked waiting for a df.signal_workflow call. There is no 'waiting' value and no column exposing "blocked on signal X".
The df.instances status check constraint currently allows only:
'pending', 'running', 'completed', 'failed', 'cancelled'
(see src/lib.rs).
Signal waits are only partially observable by joining down into df.nodes (a row with node_type='SIGNAL', status='running'), but nothing at the instance level surfaces this. Consumers building dashboards or operational queries cannot answer "is this instance blocked waiting for a signal, and which one?" without a join into per-node state.
Expected
A direct, queryable answer at the instance level without requiring consumers to join down to df.nodes. Either:
- a
'waiting' status value on df.instances, or
- a
blocked_on_signal / awaiting_signal column that names the signal the instance is parked on.
Notes
- Severity: Medium.
- Tracked internally as ADO 5317225 ([A2]).
Problem
df.instances.statusis'running'whether the workflow is actively processing or parked waiting for adf.signal_workflowcall. There is no'waiting'value and no column exposing "blocked on signal X".The
df.instancesstatus check constraint currently allows only:(see src/lib.rs).
Signal waits are only partially observable by joining down into
df.nodes(a row withnode_type='SIGNAL',status='running'), but nothing at the instance level surfaces this. Consumers building dashboards or operational queries cannot answer "is this instance blocked waiting for a signal, and which one?" without a join into per-node state.Expected
A direct, queryable answer at the instance level without requiring consumers to join down to
df.nodes. Either:'waiting'status value ondf.instances, orblocked_on_signal/awaiting_signalcolumn that names the signal the instance is parked on.Notes