0 votes
889 views
in Process Server by

1 Answer

0 votes
ago by (30.6k points)

"Stuck token" = an instance that no longer moves although nobody is waiting on purpose. The usual causes and where to look:

CauseSymptomWhere to see it / fix
Failed system step (exception in a service)Instance state Failed, token on the activityProcess Admin > Process Inspector > instance > error text; fix the cause, Retry (or REST action=retry)
Event manager stopped / on-hold taskTimers do not fire, system tasks after a wait do not start; instance is ActiveProcess Admin > Event Manager: scheduler paused? tasks on hold? resume / replay (question 2564)
Message event waiting for a message that never came / wrong correlationToken on an intermediate message eventCheck the UCA's correlation key vs the instance's variable; send the message (sendMessage) or move the token
Parallel / inclusive join waiting for a branch that ended elsewhereToken on the join gateway foreverModel error (branch left through a boundary event) - fix the model; move / delete the token on the instance
Task assigned to a team with no members / a deleted userTask visible to nobodyReassign (Process Admin, REST assign), fix the team binding
Instance suspendedState SuspendedSomeone suspended it (audit) - resume
Long-running service hanging (remote call without timeout)Activity "running" for hours, thread busyThread dump; add timeouts; restart the member if the thread is stuck; the step fails and can be retried
Linked process / sub-process child failedParent waits on the linked activityInspect the child instance (its own id), fix / retry / terminate it
Migration to a new snapshot left the token on an activity that no longer existsInstance failed after migrationMove the token to the successor activity; keep the old activity in future versions until instances drained
Database issues (locks, deadlocks, full tablespace)Many instances failing at once with SQL errorsSystemOut / database logs; the instances retry after the fix
# triage from the REST API: where is the token, what is the state
GET /rest/bpm/wle/v1/process/2072.123?parts=header,executionTree,diagram      -> state, tokens (name, flowObjectId, createdTaskIDs), steps
PUT /rest/bpm/wle/v1/process/errors?instanceIds=123                            -> runtime error messages of failed instances
GET /ops/std/bpm/event_manager_tasks?process_id=123                           -> pending timers / async steps of the instance (BAW 20+)

A dashboard that lists Failed instances, on-hold event manager tasks and tokens older than N days catches most of these before users notice.

References

Related questions

+1 vote
2 answers 7.4k views
0 votes
1 answer 2.7k views
0 votes
1 answer 1.0k views
0 votes
1 answer 1.3k views
0 votes
1 answer 1.7k views
0 votes
1 answer 3.2k views
0 votes
1 answer 2.2k views
0 votes
1 answer 1.4k views

723 questions

807 answers

98 comments

4.9k users

Join BPM Community Discord Channel

Welcome to BPM Tips Q&A, Community wiki/forum where you can ask questions and receive answers from other IBM BPM experts and members of the community. Users with 2000 points will automatically be promoted to expert level.
Created by Dosvak LLC
Our Youtube Channel
...