dify - 💡(How to fix) Fix Phoenix tracing is lost after resuming HITL workflows [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

The resumed generate entity is loaded from persisted pause state, but trace_manager is excluded from serialization. After resume, terminal workflow events still reach the persistence layer, but _enqueue_trace_task() returns early because there is no TraceQueueManager.

Fix Action

Fixed

Code Example

Human Input node suspended workflow for form
Task resume_app_execution ... received
Unhandled event type: NodeRunHumanInputFormFilledEvent
Task resume_app_execution ... succeeded
RAW_BUFFERClick to expand / collapse

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

main branch, observed on commit c7d30bf09a after Phoenix workflow tracing support.

Cloud or Self Hosted

Self Hosted (Source)

Steps to reproduce

  1. Configure the Arize/Phoenix tracing provider for a workflow or advanced-chat app.
  2. Create a workflow that contains a Human Input / HITL node and can complete successfully after the submitted form resumes execution.
  3. Run the workflow until it pauses at the HITL node.
  4. Submit the HITL form so the workflow resumes and reaches a terminal state.
  5. Check Phoenix traces and backend logs.

Observed log context includes:

Human Input node suspended workflow for form
Task resume_app_execution ... received
Unhandled event type: NodeRunHumanInputFormFilledEvent
Task resume_app_execution ... succeeded
<img width="1750" height="840" alt="Image" src="https://github.com/user-attachments/assets/e3f87cd3-d4d9-491c-8c8a-edc74835ef14" /> <img width="2114" height="778" alt="Image" src="https://github.com/user-attachments/assets/59c2a6e9-e125-4724-a249-da9df415d2e7" />

✔️ Expected Behavior

After a paused HITL workflow or advanced-chat flow resumes and later succeeds, fails, or stops, Dify should enqueue the existing terminal workflow trace task so Phoenix receives the final workflow trace.

Pause itself does not need to emit a checkpoint trace.

❌ Actual Behavior

Phoenix receives no workflow trace for the resumed execution.

The resumed generate entity is loaded from persisted pause state, but trace_manager is excluded from serialization. After resume, terminal workflow events still reach the persistence layer, but _enqueue_trace_task() returns early because there is no TraceQueueManager.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING