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.
DocImpact:
Added wsgi_keep_alive option (default=True).
In order to maintain the backward compatibility, setting wsgi_keep_alive
as True by default. Recommended is set it to False.
Reviewed: https:/ /review. openstack. org/138365 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=4041d30611b aa476d33627f507 8d5bcc12ef50eb
Committed: https:/
Submitter: Jenkins
Branch: stable/icehouse
commit 4041d30611baa47 6d33627f5078d5b cc12ef50eb
Author: abhishekkekane <email address hidden>
Date: Tue Oct 21 02:31: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.
DocImpact:
Added wsgi_keep_alive option (default=True).
In order to maintain the backward compatibility, setting wsgi_keep_alive
as True by default. Recommended is set it to False.
Conflicts:
cinder/ wsgi.py
etc/ cinder/ cinder. conf.sample
SecurityImpact
Closes-Bug: #1361360 626388cfe4df72b 2f47cb0661c 139ee71b31095d0 b9093332ce)
Change-Id: Ic57b2aceb136e8
(cherry picked from commit fc87da7eeb3451e