Summary
df.instance_executions(instance_id, 1) can return an empty rowset for some instances that are otherwise reported as completed by df.list_instances() and aggregate metrics.
Expected behavior
Every completed instance should have at least one execution row retrievable through df.instance_executions(instance_id, 1), or the function should return an explicit error explaining why execution history is unavailable.
Actual behavior
For a subset of completed instances, df.instance_executions(instance_id, 1) returns no rows. This makes it impossible to distinguish "no execution history exists" from "execution history lookup failed".
Repro shape
- Run enough workflows to produce multiple completed instances.
- Enumerate completed instance IDs with
df.list_instances().
- For each completed instance, call
df.instance_executions(instance_id, 1).
- Observe that some completed instances return an empty rowset.
Impact
Per-instance latency and execution-history aggregation can undercount completed work or silently drop instances from diagnostics.
Summary
df.instance_executions(instance_id, 1)can return an empty rowset for some instances that are otherwise reported as completed bydf.list_instances()and aggregate metrics.Expected behavior
Every completed instance should have at least one execution row retrievable through
df.instance_executions(instance_id, 1), or the function should return an explicit error explaining why execution history is unavailable.Actual behavior
For a subset of completed instances,
df.instance_executions(instance_id, 1)returns no rows. This makes it impossible to distinguish "no execution history exists" from "execution history lookup failed".Repro shape
df.list_instances().df.instance_executions(instance_id, 1).Impact
Per-instance latency and execution-history aggregation can undercount completed work or silently drop instances from diagnostics.