Presently, the wsgi server allows persist connections. Hence even after
the response is sent to the client, it doesn't close the client socket
connection. Because of this problem, the green thread is not released
back to the pool.
In order to close the client socket connection explicitly after the
response is sent and read successfully by the client, you simply have to
set keepalive to False when you create a wsgi server.
Icehouse backport note: socket_timeout was dropped, it was introduced
in 0.14[*] and Icehouse eventlet lower bound is 0.13
Reviewed: https:/ /review. openstack. org/144714 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=4cdbefc202a cc2499c253da625 db48d6165b7c84
Committed: https:/
Submitter: Jenkins
Branch: stable/icehouse
commit 4cdbefc202acc24 99c253da625db48 d6165b7c84
Author: abhishekkekane <email address hidden>
Date: Tue Oct 21 04:15:15 2014 -0700
Eventlet green threads not released back to pool
Presently, the wsgi server allows persist connections. Hence even after
the response is sent to the client, it doesn't close the client socket
connection. Because of this problem, the green thread is not released
back to the pool.
In order to close the client socket connection explicitly after the
response is sent and read successfully by the client, you simply have to
set keepalive to False when you create a wsgi server.
Icehouse backport note: socket_timeout was dropped, it was introduced
in 0.14[*] and Icehouse eventlet lower bound is 0.13
[*] https:/ /github. com/eventlet/ eventlet/ commit/ 7d4916f01462de0 9cb58853d9de2e8 5777c2ad5b
DocImpact:
Added wsgi_keep_alive option (default=True).
SecurityImpact
Closes-Bug: #1361360 0b85791f23ac1cd fd79815341b 159d98a4628fb8a 6fcd05e95a)
Change-Id: I3a361d6590d180
(cherry picked from commit 8e7a0dbb12082f6