Workflow stuck
Purpose: Unstick workflow instances and drain backlogs without losing in-flight approvals.
Who this page is for
| Audience | Why it matters to you |
|---|---|
| Backend engineers | Custom step owners |
| Platform engineers | Backlog management |
Which kind of stuck?
| Observation | Lane |
|---|---|
| One instance sits at a step | Single-instance lane |
| Thousands RUNNING, growing | Backlog lane |
| Nothing processes at all | Engine lane |
Single instance
Workflow console → instance → open its history: which step, since when?
| Step type | Usual cause |
|---|---|
| Participant step | It's waiting for a human — the Inbox item is assigned to a group nobody checks, or the assignee left (reassign; then fix group-based assignment governance) |
| Process step (custom) | Exception — error.log at that timestamp; fix cause, then retry the step from console (idempotency earning its keep) |
| GOTO/split logic | Model logic dead-ends — model bug, terminate + fix model |
Backlog lane
- What's the mix? (group by model) — 90% DAM asset workflows = an ingest event (DAM governance bulk note); 90% one custom model = its step is slow/failing.
- Engine throughput: workflow uses Sling Job queues — /system/console/slingevent shows queue depths/active counts; a saturated queue with healthy items = capacity (tune queue concurrency deliberately), poisoned items = single-instance lane repeatedly.
- Completed-but-not-purged is NOT backlog: huge instance counts from missing purge (maintenance) slow the console and everything else — purge first, then reassess.
Engine lane
No workflow progresses: job queue topology stuck (restart the queue bundle/instance in a window), a launcher storm (mis-scoped launcher triggering on everything — check launcher configs against recent changes), or repository-level sickness (memory & CPU).
Draining etiquette
Terminating instances loses approvals in flight — inventory by model + business meaning before mass actions; retry in chunks; tell content ops what was terminated so submissions re-enter (session 9 flows).