v2.0: Bound default value for thread pool args (backport of #2599) #2662
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.
Problem
The thread pool argument trait declares min/max/default functions. These functions are then called to provide a default as well as validation that any user set value on the CLI is within [min(), max()].
Some of the default values are fixed numbers. On a machine with few enough cores, the default could exceed the max. This would raise an error when the argument is parsed. This can be worked around by the user specifying a lower value; however, these flags are still very much experimental and intentionally hidden.
Summary of Changes
So, make the default value that is passed to CLAP the min of default() and max(). This will adjust the default on low core count machines while leaving settings on sufficient machines untouched.
Fixes #2103
This is an automatic backport of pull request #2599 done by [Mergify](https://mergify.com).