Wednesday, 2025-07-16

*** mrunge_ is now known as mrunge07:32
opendevreviewStephen Finucane proposed openstack/pbr master: Use sysconfig for sitedir path in test_wsgi in py3  https://review.opendev.org/c/openstack/pbr/+/94077810:08
opendevreviewDaniel Bengtsson proposed openstack/oslo.service master: Add comprehensive backend system documentation.  https://review.opendev.org/c/openstack/oslo.service/+/94066410:44
opendevreviewMerged openstack/pbr master: Run python release package build job in check and gate  https://review.opendev.org/c/openstack/pbr/+/93852511:14
opendevreviewHervé Beraud proposed openstack/oslo.db master: Add MariaDB error 1020 handling for REPEATABLE-READ consistency  https://review.opendev.org/c/openstack/oslo.db/+/95518913:11
opendevreviewMerged openstack/pbr master: Use sysconfig for sitedir path in test_wsgi in py3  https://review.opendev.org/c/openstack/pbr/+/94077813:26
opendevreviewTakashi Kajinami proposed openstack/osprofiler master: devstack: Drop logic for jaeger driver  https://review.opendev.org/c/openstack/osprofiler/+/95519614:12
opendevreviewHervé Beraud proposed openstack/oslo.service master: Prevent WSGI Server usage with threading backend  https://review.opendev.org/c/openstack/oslo.service/+/95519914:44
opendevreviewHervé Beraud proposed openstack/oslo.service master: Prevent WSGI Server usage with threading backend  https://review.opendev.org/c/openstack/oslo.service/+/95519914:58
opendevreviewStephen Finucane proposed openstack/pbr master: Do not use the onerror parameter in shutil.rmtree()  https://review.opendev.org/c/openstack/pbr/+/92480315:49
dtantsurGreetings folks! Does anyone have a good working knowledge of futurist?16:16
dtantsurTheJulia and I are trying to understand what was the logic behind ThreadPoolExecutor never shrinking, essentially always getting to max_workers as the time goes by.16:17
dtantsurI can probably fix it but I'd prefer to make sure I'm not missing something essential.16:17
dtantsurI'm referring to this logic https://github.com/openstack/futurist/blob/master/futurist/_futures.py#L154-L155 combined with the fact that ThreadWorkers don't appear to exit until the executor is stopped16:18
hberaud[m]dtantsur: Hey Dmitry, if by shrinking you say that its size is static, you can take a look to the section I wrote in the migration guide about the static or dynamically sized thread pool => https://removal.eventlet.org/guide/migrating-to-threading/ (see the Refactoring Concurrency Pools and Executors chapter)16:28
hberaud[m]In short, ThreadPoolExecutor are statically sized, so I think that's why you always see the max_workers as the time goes by16:30
hberaud[m]Where greenpool are dynamically sized16:31
hberaud[m]That's not a futurist behaviour, that's a CPython behaviour. Futurist simply wrap the CPython stdlib16:32
hberaud[m]to hide the logic of passing between greenpool and threadpool16:33
hberaud[m]and vice versa16:33
dtantsurhberaud[m]: thanks, this is helpful! Do you think we need your ResizableThreadPool in futurist? Or even: does anyone ever needs a non-resizable pool?16:34
dtantsuran in-tree implementation could override _maybe_spin_up with something more sophisticated16:35
dtantsurwithout losing access to Gatherer and other nice things like in your example16:35
hberaud[m]Neutron implemented this logic during their migration, so if this pattern aim to repeat elsewhere in OpenStack, then, indeed, we could officially support it into futurist.16:35
dtantsurHmm, more sophisticated than your example actually: there is no party to call resize()16:36
hberaud[m]yeah my example is basical16:36
dtantsursomething along the lines of the proposal I wrote for cheroot in https://github.com/cherrypy/cheroot/issues/190#issuecomment-288390304516:36
hberaud[m]good idea16:37
dtantsurI can prototype something if it doesn't sound like immediate nope16:37
hberaud[m]WFM16:39
hberaud[m]Apparently you are only the second person to speak about that, so I do not think there is an immediate need16:40
dtantsuror maybe the folks don't realize it just yet :D16:40
hberaud[m]indeed :)16:41
hberaud[m]dtantsur: here is the Neutron implementation https://review.opendev.org/c/openstack/neutron/+/945566 . You should notice that it may have evolved since we initially discussed about that with Rodolfo months ago16:43
hberaud[m]Indeed they changed their direction https://review.opendev.org/c/openstack/neutron/+/945566/3..9 16:45
hberaud[m]they adopted another strategy16:47
dtantsurI see16:56
dtantsurOh. You cannot actually stop one thread right now, can you16:56
opendevreviewMerged openstack/pbr master: Use packaging where possible  https://review.opendev.org/c/openstack/pbr/+/95404317:06
opendevreviewMerged openstack/pbr master: Cleanup removal of 'build_sphinx' command doc  https://review.opendev.org/c/openstack/pbr/+/95404417:06
opendevreviewMerged openstack/pbr master: Remove 'test' distutils command override  https://review.opendev.org/c/openstack/pbr/+/95404517:06
opendevreviewHervé Beraud proposed openstack/oslo.service master: Prevent WSGI Server usage with threading backend  https://review.opendev.org/c/openstack/oslo.service/+/95519917:07
opendevreviewDmitry Tantsur proposed openstack/futurist master: PoC: DynamicThreadPoolExecutor  https://review.opendev.org/c/openstack/futurist/+/95521717:11
dtantsurhberaud[m], TheJulia: veeeeeery rough draft ^^^, absolutely untested, just to give you an idea17:12
opendevreviewMerged openstack/pbr master: Move fixtures to their own module  https://review.opendev.org/c/openstack/pbr/+/95404617:38
opendevreviewMerged openstack/pbr master: Remove support for custom compilers  https://review.opendev.org/c/openstack/pbr/+/95404717:38
hberaud[m]dtantsur: Awesome! Thank you. Do you mind if we label it with the "eventlet-removal" gerrit topic? Would help to keep it handy.18:55
hberaud[m]good initiative!18:57

Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!