Repository navigation
Respect explicit worker execution models - #1392
Merged
RonnyPfannschmidt merged 3 commits intoOct 6, 2026
Merged
RonnyPfannschmidt merged 3 commits into
RonnyPfannschmidt merged 3 commits into
Conversation
RonnyPfannschmidt
approved these changes
Oct 6, 2026
Member
|
the failures are expected and will be fixed elsewhere, thanks |
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.
--tx=popen//execmodel=threadcurrently fails while constructing its worker specification because NodeManager prepends a secondexecmodelvalue. Both the constructor andsetup_node()now supplymain_thread_onlyonly when the specification has no explicit model. The controller still usesmain_thread_only.This fixes the duplicate-key bug reported in #1069 (comment). It does not implement automatic gevent monkey-patching from the original issue.
Tests cover string and XSpec inputs, direct gateway setup with a real local worker, and an end-to-end thread-worker run. Before the change, eight cases fail with the duplicate-key error and four controls pass; afterward all twelve pass.
Validation on macOS ARM64, CPython 3.13.9, pytest 8.4.2 and execnet 2.1.2:
test_workermanage.pyandtest_remote.py: 49 passed, one SSH-dependent skip, three existing expected failures.test_plugin.py: 37 passed, one optional-psutil skip.Gevent and eventlet cases check specification preservation without executing those optional backends. The full suite, other interpreter/platform combinations and remaining pre-commit hooks were not run locally.
AI assistance: Codex assisted with the implementation, regression tests, review and this description.
Thanks for submitting a PR, your contribution is really appreciated!
Here's a quick checklist that should be present in PRs:
Make sure to include reasonable tests for your change if necessary
We use towncrier for changelog management, so please add a news file into the
changelogfolder following these guidelines:Name it
$issue_id.$typefor example588.bugfix;If you don't have an issue_id change it to the PR id after creating it
Ensure type is one of
removal,feature,bugfix,vendor,docortrivialMake sure to use full sentences with correct case and punctuation, for example: