On a heavily loaded compute node, it can be observed that periodic tasks
take so long to run that the report_state() looping call can be blocked from
running long enough that the scheduler thinks the host is dead.
Reduce the chance of this happening by yielding to another greenthread
after each periodic task has completed and each loop in some methods
that has linear relationship with the number of instances.
Reviewed: https:/ /review. openstack. org/12335 github. com/openstack/ nova/commit/ be72921c6f38b8b 71ffc474ceae58e 67241dac22
Committed: http://
Submitter: Jenkins
Branch: master
commit be72921c6f38b8b 71ffc474ceae58e 67241dac22
Author: TianTian Gao <gtt116@126.com>
Date: Tue Sep 4 12:01:41 2012 +0800
Yield to another greenthread when some time-consuming task finished.
Partially addresses bug #1045152
On a heavily loaded compute node, it can be observed that periodic tasks
take so long to run that the report_state() looping call can be blocked from
running long enough that the scheduler thinks the host is dead.
Reduce the chance of this happening by yielding to another greenthread
after each periodic task has completed and each loop in some methods
that has linear relationship with the number of instances.
Change-Id: If2b125708da829 8b20497e2e08e52 280c102f1e1