From 21bf6f7e4945bc7e8c303273ad10c28b6cfc8b08 Mon Sep 17 00:00:00 2001 From: Mark McClain Date: Wed, 2 Oct 2013 16:51:33 -0400 Subject: [PATCH] add greenthread.sleep to increase yields This is a stopgap Havana release. Add eventlet greenthread.sleep to increase thread yields. Partially fixes: 1230407 Partially fixes: 1224001 Change-Id: I18953cf8e457ebb33780817582b4788fb5ed6f73 --- neutron/db/agents_db.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/neutron/db/agents_db.py b/neutron/db/agents_db.py index 3e4ce5ea200..d04f7faf56b 100644 --- a/neutron/db/agents_db.py +++ b/neutron/db/agents_db.py @@ -15,6 +15,8 @@ # License for the specific language governing permissions and limitations # under the License. +from eventlet import greenthread + from oslo.config import cfg import sqlalchemy as sa from sqlalchemy.orm import exc @@ -146,14 +148,18 @@ class AgentDbMixin(ext_agent.AgentPluginBase): res['heartbeat_timestamp'] = current_time if agent.get('start_flag'): res['started_at'] = current_time + greenthread.sleep(0) agent_db.update(res) except ext_agent.AgentNotFoundByTypeHost: + greenthread.sleep(0) res['created_at'] = current_time res['started_at'] = current_time res['heartbeat_timestamp'] = current_time res['admin_state_up'] = True agent_db = Agent(**res) + greenthread.sleep(0) context.session.add(agent_db) + greenthread.sleep(0) class AgentExtRpcCallback(object):