temporalio / temporalio/temporal

WorkflowCache inconsistency upon workflow (force) deletion

Open
#6,527 1 comment 0 reactions 0 assignees View on GitHub

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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.