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/131987 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=b57c024bfb5 f542e0412f26803 8f38bf52e06456
Committed: https:/
Submitter: Jenkins
Branch: stable/juno
commit b57c024bfb5f542 e0412f268038f38 bf52e06456
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