• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 21680231196

04 Feb 2026 04:48PM UTC coverage: 60.714% (+0.03%) from 60.68%
21680231196

push

github

web-flow
Fix zombie process when proxy stops due to health check failure (#3543)

When health checks fail for a remote MCP server, the TransparentProxy
calls Stop() which closes its shutdownCh. However, HTTPTransport.IsRunning()
only checked its own shutdownCh, not the proxy's. This caused the runner's
status monitor to keep returning true, preventing the process from exiting.

Changes:
- Add IsRunning() method to the Proxy interface
- Update HTTPTransport.IsRunning() to also check proxy.IsRunning()
- Add IsRunning() implementations to HTTPSSEProxy and HTTPProxy (streamable)
- Add unit tests for the IsRunning behavior
- Add e2e test for health check zombie prevention

The TransparentProxy already had IsRunning() - this change ensures the
HTTPTransport properly delegates to it when checking running status.

Signed-off-by: Greg Katz <gkatz@indeed.com>
Co-authored-by: Don Browne <dmjb@users.noreply.github.com>

28 of 49 new or added lines in 7 files covered. (57.14%)

2 existing lines in 1 file now uncovered.

40314 of 66400 relevant lines covered (60.71%)

75.96 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.37
/pkg/transport/proxy/httpsse/http_proxy.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc