sol713 opened a new pull request, #240: URL: https://github.com/apache/doris-mcp-server/pull/240
## Summary Cancelled MetricFlow provider requests leave their direct child process alive. Kill and reap the child before re-raising CancelledError; tolerate an already-exited child during timeout cleanup while preserving METRICFLOW_PROVIDER_TIMEOUT. ## Validation Codex cloud, CPython 3.12, uv 0.9.0; base 5daf1deb26bc0db02c19bf5ca1d070acea4cfab9; head 9eae6e03cfb76dfe5a8799b515dfd721e29a3daa. Five real temporary-subprocess cases cover cancellation, deadline, success, cancellation after exit and timeout after exit, with readiness signals and test-owned cleanup. Baseline: 2 failed/3 passed; fixed plus existing MetricFlow tests: 14 passed. Full suite: 1868 passed/85 skipped, coverage 68.14%, domain gates passed. Ruff, Mypy, Bandit, lock, catalog, build and clean-wheel checks passed. CI-pinned official MCP conformance: 25/25. ## Limits and AI assistance No real Doris database or installed MetricFlow engine tested. Spawn-phase/repeated cancellation and descendant processes are outside scope. Full license-eye scan unavailable: pinned dependency download returned HTTP 403; changed headers checked. Upstream CI has not run. OpenAI Codex produced and reviewed the implementation/tests and performed cloud verification. Human review and any contributor agreements remain for the contributor; none asserted here. Independent of #239, #224 and #234. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
