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/204705 /git.openstack. org/cgit/ openstack/ manila/ commit/ ?id=accb273c7aa 369f624e8062137 b356dc3e5589cf
Committed: https:/
Submitter: Jenkins
Branch: master
commit accb273c7aa369f 624e8062137b356 dc3e5589cf
Author: Valeriy Ponomaryov <email address hidden>
Date: Wed Jul 22 20:30:42 2015 +0300
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.
This is port of Cinder change - [1]
[1] Ic57b2aceb136e8 626388cfe4df72b 2f47cb0661c
SecurityImpact
Closes-Bug: #1361360
Change-Id: If9241e6f6ba105 92a64ca312cb479 e8cea929913