![]() This change removes usage of eventlet timers. This allows coordinator heartbeat/watchers to work correctly when the main thread is stuck for any reason (IO, time.sleep, ...). This also fixes a concurrency issue in the notification-agent between stop/reload_pipeline/refresh_agent that manipulate listeners. For example a listener stopped by stop() could be restart by reload_pipeline or refresh_agent. Now we use the coord_lock to protect the listener manipulations and ensure we are not in a shutdown process when we restart it. This bug can't occurs with greenlet because we don't monkeypatch system call for a while now and all of this methods wasn't ran in concurrency manner. But remplacing greenlet by reel thread have show up the bug. Closes-Bug: #1582641 Change-Id: I21c3b953a296316b983114435fcbeba1e29f051e |
||
---|---|---|
.. | ||
discovery | ||
__init__.py | ||
manager.py | ||
plugin_base.py |