[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