Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove unused-in-production HTEX interchange default values #3465

Merged
merged 3 commits into from
Jun 10, 2024

Conversation

benclifford
Copy link
Collaborator

This PR makes all parameters to the Interchange class into mandatory keyword-only arguments.

The removed defaults were not used in production use, because they were all specified explicitly in parsl/executors/high_throughput/executor.py too.

The single exception to this was client_address, which was defaulted in the interchange and never specified by the exeuctor. This PR moves that default into executor.py too, to work like all the other defaults.

See similar changes to the process worker pool, PR #2973, for more detailed justification.

test_zmq_binding.py is the only test which instantiates Interchange objects directly (rather than testing the executor as a whole) and this PR modifies that test to explicitly specify all interchange parameters rather than relying on the otherwise-unused defaults.

Changed Behaviour

This should not change user-facing behaviour

Type of change

  • Code maintenance/cleanup

This PR makes all parameters to the Interchange class into mandatory
keyword-only arguments.

The removed defaults were not used in production use, because they were
all specified explicitly in parsl/executors/high_throughput/executor.py too.

The single exception to this was client_address, which was defaulted in the
interchange and never specified by the exeuctor. This PR moves that
default into executor.py too, to work like all the other defaults.

See similar changes to the process worker pool, PR #2973, for more detailed
justification.

test_zmq_binding.py is the only test which instantiates Interchange objects
directly (rather than testing the executor as a whole) and this PR modifies
that test to explicitly specify all interchange parameters rather than
relying on the otherwise-unused defaults.
@benclifford benclifford requested review from rjmello, khk-globus and yadudoc and removed request for rjmello June 10, 2024 17:52
Copy link
Collaborator

@khk-globus khk-globus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense.

Copy link
Member

@yadudoc yadudoc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've looked through this a few times over and these changes look right to me. I know there's a plan in #3463 to switch to using subprocess to launch instead of ForkProcess but this would be good to get in now.

@benclifford benclifford merged commit b9aa3dd into master Jun 10, 2024
6 checks passed
@benclifford benclifford deleted the benc-interchange-defaults branch June 10, 2024 21:36
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.

3 participants