It doesn't control the number of threads. It sets a floor for scaling threads. So if I set 999 it won't create 999 threads, it will not scale LOWER than 999 threads. So if --ponythreads is less than --ponyminthreads no downscaling will occur.
Options:
Thoughts?
From sync. We believe there should be a flag for "don't scale my threads".
And --ponyminthreads will error out if it is greater than --ponythreads.
--ponynoscale is the current idea for turning off scaling.
if --ponynoscale is used on application startup then it should be a startup error to use --ponyminthreads.
@SeanTAllen If I am understanding this correctly the changes needed are:
--ponyminthreads and --ponythreads--ponynoscale flag that errors if used with --ponyminthreadsShould this --ponynoscale flag be the same as stating --ponyminthreads=0?
@RHagenson Not quite.
--ponynoscale is the same as setting --ponyminthreads equal to the value of --ponythreads. That is, it will never try to scale down the number of scheduler threads. Whereas --ponyminthreads=0 will allow you to scale all the way down to no scheduler threads running.
As part of this, we need to confirm that --ponyminthreads <= --ponythreads. If it isn't it should error out.
Documentation would need to be updated accordingly.
Got it. I had --ponyminthreads=0 in my head as a special value rather than an actual possibility of zero scheduler threads running. Good to know that is possible (not sure when it is useful, but not a major concern right now).
@alexsnaps has a PR open for this #3303.
Most helpful comment
From sync. We believe there should be a flag for "don't scale my threads".
And --ponyminthreads will error out if it is greater than --ponythreads.
--ponynoscaleis the current idea for turning off scaling.if
--ponynoscaleis used on application startup then it should be a startup error to use--ponyminthreads.