You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AsyncioSelectorReactor.callLater() returns DelayedCalls whose reset() method doesn't work as expected.
reset() to later time simply doesn't work: timer gets fired at original time
reset() to earlier works, but original internal asyncio's timer isn't cancelled and this causes an exception in AsyncioSelectorReactor's internal code
This is not neccessarily a bug, but worth to be fixed too: current implementation of AsyncioSelectorReactor.callLater() leaves many cyclically linked objects after timer is fired. For the app that uses timers heavily this leads to significally higher memory usage (and cpu too due to much more often GC invocations)
Also attaching graph of ram usage % on my servers that I've eventually tried to run on asyncioreactor instead of epollreactor, but was forced to rollback due to unusual memory usage.
Attachments:
2020-03-19_22-51.png (21486 bytes) - added by IlyaSkriblovsky on 2020-03-19 20:05:07Z - RAM Usage % graph that encouraged me to investigate the issue
AsyncioSelectorReactor.callLater() returns DelayedCalls whose reset() method doesn't work as expected.
reset() to later time simply doesn't work: timer gets fired at original time
reset() to earlier works, but original internal asyncio's timer isn't cancelled and this causes an exception in AsyncioSelectorReactor's internal code
This is not neccessarily a bug, but worth to be fixed too: current implementation of AsyncioSelectorReactor.callLater() leaves many cyclically linked objects after timer is fired. For the app that uses timers heavily this leads to significally higher memory usage (and cpu too due to much more often GC invocations)
Here the gist with runnable demos of all three issues:
https://gist.github.com/IlyaSkriblovsky/58876c9f97c617875e7b739fd0447807
Also attaching graph of ram usage % on my servers that I've eventually tried to run on asyncioreactor instead of epollreactor, but was forced to rollback due to unusual memory usage.
Attachments:
Searchable metadata
The text was updated successfully, but these errors were encountered: