From 68dc62b7389ca5896ca4bd5494b74f91e10b270f Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Mon, 4 May 2020 13:24:23 -0400 Subject: [PATCH] Monkey patch original current_thread _active Monkey patch the original current_thread to use the up-to-date _active global variable. This solution is based on that documented at: https://github.com/eventlet/eventlet/issues/592 Change-Id: I8c2ffea3c31b3009c87455d9c54dc233367f0d3d Closes-Bug: #1863021 --- designate/cmd/__init__.py | 6 ++++++ designate/cmd/manage.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/designate/cmd/__init__.py b/designate/cmd/__init__.py index 806716bce..3a7edfa9b 100644 --- a/designate/cmd/__init__.py +++ b/designate/cmd/__init__.py @@ -16,3 +16,9 @@ import eventlet eventlet.monkey_patch(os=False) +# Monkey patch the original current_thread to use the up-to-date _active +# global variable. See https://bugs.launchpad.net/bugs/1863021 and +# https://github.com/eventlet/eventlet/issues/592 +import __original_module_threading as orig_threading # noqa +import threading # noqa +orig_threading.current_thread.__globals__['_active'] = threading._active diff --git a/designate/cmd/manage.py b/designate/cmd/manage.py index 08cc472c7..bc8e8f907 100644 --- a/designate/cmd/manage.py +++ b/designate/cmd/manage.py @@ -29,6 +29,12 @@ from designate import utils from designate import version eventlet.monkey_patch(os=False) +# Monkey patch the original current_thread to use the up-to-date _active +# global variable. See https://bugs.launchpad.net/bugs/1863021 and +# https://github.com/eventlet/eventlet/issues/592 +import __original_module_threading as orig_threading # noqa +import threading # noqa +orig_threading.current_thread.__globals__['_active'] = threading._active CONF = designate.conf.CONF