Repository navigation
fix(workspace): clean up failed Docker initialization - #3098
Merged
DavdGao merged 3 commits intoOct 8, 2026
Merged
Conversation
Contributor
|
Thanks for the pull request. One thing worth sorting out before it is reviewed:
If you think it belongs here anyway, say so and a maintainer will take a look. |
2 tasks done
Dispose the unreturned workspace the same way the E2B manager does and fold the regression test into the existing Docker manager suite. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When Docker workspace initialization fails after container creation, the manager never caches the workspace, so close_all cannot reclaim its resources. Attempt to close the unreturned workspace before propagating the original initialization error or cancellation. If cleanup also fails, log the cleanup failure and preserve the original error.
Add public get_workspace regression coverage for initialization failure, task cancellation, cleanup failure, successful retry, and cached reuse.
Validation:
pytest tests/workspace_manager_docker_init_test.py tests/workspace_manager_docker_test.py tests/workspace_prewarm_test.py -q— 20 passed.pre-commit run --all-files— passed.The lifecycle tests use a Docker SDK double. Live Docker integration has not been run.
Fixes #3099