temporalio / temporalio/sdk-java

Workers don't reset sticky queue when workflow execution is evicted from the cache

Open
#883 2 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.