temporalio / temporalio/temporal
WorkflowCache inconsistency upon workflow (force) deletion
Open
Nobody has claimed this yet.
potential-bug
- Dominant language
- Go
- Stars
- 23.2k
- Forks
- 1.9k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 228
Description
Expected Behavior
- Cached workflow mutate state should always match state in DB.
Actual Behavior
- If workflow is deleted, it's still cached in memory but already deleted in DB.
In most cases this is not an issue, the normal workflow deleted command is async anyway.
It's confusing for tdbg workflow deleted though because it's sync delete.
Steps to Reproduce the Problem
Specifications
- Version:
- Platform:
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 WorkflowCache and the synchronous tdbg workflow deletion path, then compare the in-memory workflow state with the database state during deletion. Done means a force-deleted workflow is removed or invalidated in the cache at the same time as it is deleted from the database, while the normal asynchronous deletion behavior remains consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100