Skip to content

fix: silence fan-out grandchild handler-miss noise#954

Open
chubes4 wants to merge 1 commit intomainfrom
fix/silent-fanout-handler-miss
Open

fix: silence fan-out grandchild handler-miss noise#954
chubes4 wants to merge 1 commit intomainfrom
fix/silent-fanout-handler-miss

Conversation

@chubes4
Copy link
Member

@chubes4 chubes4 commented Mar 23, 2026

Summary

Fan-out child jobs that don't receive the handler result (because a sibling got it) now complete as completed_no_items instead of failing with required_handler_tool_not_called.

Problem

The 3-step pipeline fan-out creates N children + ~2N grandchildren. Only 1 child's output packet contains the handler result the UpdateStep needs. The rest (~1,328/day) fail with required_handler_tool_not_called — expected behavior logged as noisy failures.

Fix

In UpdateStep::executeStep(), before building the failure packet:

  1. Check isFanOutChild() — looks for parent_job_id in engine_data
  2. If true, build a skip packet with success: true + job_status = 'completed_no_items'
  3. Log at debug level instead of warning

The sibling that got the handler result still processes normally. Parent completion roll-up (onChildComplete) is unaffected — it already handles mixed child statuses.

Impact

  • ~1,300 fewer failure rows/day in the jobs table
  • Job status breakdown goes from 1.4% failed~0.03% failed (only real failures remain)
  • Debug logging preserved for troubleshooting

Fan-out child jobs that don't receive the handler result (because a
sibling got it) are expected behavior, not failures. Previously these
logged as 'failed - required_handler_tool_not_called' (~1,328/day),
creating noise in job status tables and logs.

Now: if the job is a fan-out child (has parent_job_id), complete it as
'completed_no_items' with debug-level logging instead of warning-level
failure. The sibling that got the handler result still processes normally.

Result: ~1,300 fewer noisy failure rows per day in the jobs table.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant