[issue26278] BaseTransport.close() does not trigger connection_lost()
Sümer Cip
report at bugs.python.org
Tue May 7 03:22:29 EDT 2019
Sümer Cip <sumerc at gmail.com> added the comment:
I do not know I still have the issue since I have circumvented the problem. I have been using Python3.4, I think it was one of the earliest asyncio implementations. The way it can be reproduced is as following:
1) There are lots of active TCP connections connected to asyncio server (300-400 of them)
2) One of the clients close connection ungracefully(without sending a FIN)
3) We have a PING/PONG mechanism in the server (similar to http keep-alive), we call transport.close() on the socket if pong is not received within an interval.
connection_lost() event is never gets called for the socket. This is not happening all the time, this is a random issue, the key here is to disconnect client without sending a FIN and there is outgoing buffer for client.
Above is all I got.
Thanks!
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue26278>
_______________________________________
More information about the Python-bugs-list
mailing list