External Events section doesn't mention RaiseEvent fails when no worker is connected
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- documentation
Research direction
Start with the External Events section in Workflow Features and Concepts, then read pkg/runtime/wfengine/wfengine.go at OnGetWorkItemsConnectionCallback and OnGetWorkItemsDisconnectCallback. Add the operational note and recommended retry guidance, with a related suspension/resumption cross-reference if useful; done means the behavior is clearly documented without implying workflow-state loss.
Written by the indexing model from the issue text.
Description
What content needs to be created or modified?
Document an operational constraint for workflow external events: RaiseEvent / raise-event fails when no app worker is connected.
Workflow actor types register with placement only while at least one app worker is connected through GetWorkItems. When an app is down, such as during a restart, raising an event can fail with actor type ... not registered even if workflow instance state is durably persisted and resumes once a worker reconnects.
Describe the solution you'd like
Add a note explaining this expected behavior and recommended caller handling:
- Worker registration reflects which host currently serves a workflow actor type.
- A RaiseEvent call while no worker is connected may return a not-registered error.
- Callers building restart or recovery automation should retry the request until a worker reconnects.
This prevents failure being mistaken for workflow-state loss rather than a temporary timing race.
Where should the new material be placed?
Workflow Features and Concepts: External Events (https://docs.dapr.io/developing-applications/building-blocks/workflow/workflow-features-concepts/#external-events)
A cross-reference or related note in Workflow Suspension/Resumption could also be useful.
The associated pull request from dapr/dapr, dapr/components-contrib, or other Dapr code repos
NA
Additional context
Relevant runtime behavior is implemented in pkg/runtime/wfengine/wfengine.go, specifically OnGetWorkItemsConnectionCallback and OnGetWorkItemsDisconnectCallback.
These callbacks register workflow actor types while workers are connected and remove registration after workers disconnect. Durable workflow state remains intact; workflows resume correctly after worker reconnection.
- Dominant language
- SCSS
- Stars
- 1k
- Forks
- 796
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 16
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dapr/docs
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
content/incorrect-information
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
content/incorrect-information
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Similar issues
-
user-reported
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HarperFast/skills#96 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
fullcalendar/fullcalendar#8106 ·