temporalio / temporalio/temporal

tdbg diagnose command for stuck workflow

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

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
23.2k
Forks
1.9k
Avg merge
2d 8h
Merged PRs (30d)
228

Description

We need a tdbg command that could help dump all relevant information and do some basic analysis.
tdbg workflow diagnose

Information includes:

  1. Mutable state
  2. Workflow History
  3. Shard info (ack level, read level for all queues)
  4. Task queue info (including all partitions, backlog size etc)
  5. Namespace info

Diagnose part:
Check if there should have workflow task scheduled or started, but didn't happen.
Check if there is any timer that should already fired but did not happen.
Check if there is worker polling the right task queue.

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 examining the existing tdbg workflow command entry point and how it gathers workflow and service data. Define the scope for the requested mutable state, history, shard, task queue, and namespace information, plus the three diagnostic checks. Done means tdbg workflow diagnose reports those details and identifies the specified stuck-workflow conditions.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, cli, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.