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
Note: The required unit-tests are manually added to the below path,
as new path for unit-tests is not present in stable/icehouse release.
nova/tests/test_wsgi.py
Reviewed: https:/ /review. openstack. org/164643 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=392dc228034 bbd8968f4c65ddf ce6343bff938ea
Committed: https:/
Submitter: Jenkins
Branch: stable/icehouse
commit 392dc228034bbd8 968f4c65ddfce63 43bff938ea
Author: abhishekkekane <email address hidden>
Date: Tue Oct 21 01:37:42 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
Note: The required unit-tests are manually added to the below path, tests/test_ wsgi.py
as new path for unit-tests is not present in stable/icehouse release.
nova/
DocImpact:
Added wsgi_keep_alive option (default=True).
SecurityImpact
Conflicts:
nova/ tests/unit/ test_wsgi. py
Closes-Bug: #1361360 51e73f12c5b8c98 2db9310742)
(cherry picked from commit 04d7a724fdf80db
Change-Id: I3b14a37edbe4bd c5db31ff4f08f78 e78b60077ff