[issue40802] AbstractEventLoop.shutdown_default_executor breaks backwards compatibility
Kyle Stanley
report at bugs.python.org
Thu Jun 4 19:36:04 EDT 2020
Kyle Stanley <aeros167 at gmail.com> added the comment:
The main issue is that shutdown_default_executor() (or something that does the same thing) is necessary to ensure the resources of the event loop's ThreadPoolExecutor are finalized in a safe manner. Otherwise, it frequently results in dangling threads when run_in_executor() is used with the default executor, and was regularly doing so in the buildbots. So, I think this is a case where we ultimately have to break backwards compatibility in an upcoming version to fix a bug.
Also, the implementation of shutdown_default_executor() is fairly straightforward, and as far as I'm aware it's not incompatible with any of the listed projects that would need to implement it for 3.9. While inconvenient, I don't think the burden to address the compatibility break is at all high in this case.
> Since asyncio is no longer provisional, should it break backwards compatibility with just a What's New entry?
Do you have an alternative suggestion? Personally, I don't think a deprecation warning (or other) would make much sense here since it would be effectively leaving a resource leak bug as long as it isn't implemented.
----------
nosy: +aeros
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40802>
_______________________________________
More information about the Python-bugs-list
mailing list