Skip to content

fix(jet): fail health checks when transaction enqueue closes - #148

Draft
ananthb wants to merge 1 commit into
mainfrom
fix/jet-health-send-pipeline
Draft

fix(jet): fail health checks when transaction enqueue closes#148
ananthb wants to merge 1 commit into
mainfrom
fix/jet-health-send-pipeline

Conversation

@ananthb

@ananthb ananthb commented Jul 3, 2026

Copy link
Copy Markdown
Member

Summary

  • replace expect("transaction sink closed") with a typed TransactionPipelineUnavailable error on all transaction enqueue paths
  • add transaction_pipeline_health to Jet readiness so /health returns 503 when the local scheduler enqueue pipeline is closed
  • return HTTP 503 for /api/v1/transactions when the enqueue pipeline is unavailable instead of treating it as a bad request
  • add a regression test for a valid transaction submitted after the scheduler receiver is dropped

Context

This addresses the Jet-side failure mode behind abrupt backend closes before HAProxy receives response headers. The enqueue failure means Jet cannot hand accepted transactions to its local scheduler; that should make the alloc fail readiness so Consul can stop routing to it until restart/recovery recreates the pipeline.

No Linear ticket — incident follow-up.

Tests

  • cargo test --package yellowstone-jet

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