commit f9b2791735863b58171ee8be46c47ef3ed2c5edd
Author: Elena Ezhova <email address hidden>
Date: Thu Feb 19 13:34:17 2015 +0300
Prevent calling waitall() inside a GreenPool's greenthread
When neutron-server is running with several api workers
sending it a termination signal (SIGTERM, SIGHUP or SIGINT)
leads to waitall() being called inside a GreenPool's greenthread.
The reason is that a wsgi server is started in a green thread
from the same green pool that is passed to the server itself
to be used for spawning client green threads.
To avoid it, it is reasonable to use different pools for spawning
a wsgi server and for its internal usage.
This is also the case for metadata agent running with several
metadata workers.
Reviewed: https:/ /review. openstack. org/157320 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=f9b27917358 63b58171ee8be46 c47ef3ed2c5edd
Committed: https:/
Submitter: Jenkins
Branch: master
commit f9b2791735863b5 8171ee8be46c47e f3ed2c5edd
Author: Elena Ezhova <email address hidden>
Date: Thu Feb 19 13:34:17 2015 +0300
Prevent calling waitall() inside a GreenPool's greenthread
When neutron-server is running with several api workers
sending it a termination signal (SIGTERM, SIGHUP or SIGINT)
leads to waitall() being called inside a GreenPool's greenthread.
The reason is that a wsgi server is started in a green thread
from the same green pool that is passed to the server itself
to be used for spawning client green threads.
To avoid it, it is reasonable to use different pools for spawning
a wsgi server and for its internal usage.
This is also the case for metadata agent running with several
metadata workers.
Change-Id: I38174396f06fcb 29ac0776534ac64 94dabb00df6
Closes-Bug: #1423250