temporalio / temporalio/sdk-java
Workers don't reset sticky queue when workflow execution is evicted from the cache
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 433
- Forks
- 249
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 26
Description
Right now we reset the sticky queue if an exception happens during workflow execution.
While this is not an event that is needed, there is nothing bad in reexecuting on the same worker.
At the same time, we are missing resetting the sticky queue when a workflow gets evicted from the cache because SDK is at the workflow threads limit. This creates pressure on already overloaded workers and can lead to incremented delays.
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.
Research direction
Start by tracing workflow execution cache eviction when the SDK reaches its workflow-threads limit, then compare that path with the existing sticky-queue reset after an execution exception. Confirm the behavior by reproducing eviction on an overloaded worker and verify that the sticky queue is reset so subsequent workflow tasks do not remain queued there.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100