From e44f286ebca0fbde5eae2f7eb9a21ba55ba2a549 Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Fri, 5 Aug 2022 12:40:40 +0200 Subject: [PATCH] Change default value of "heartbeat_in_pthread" to False As was reported in the related bug some time ago, setting that option to True for nova-compute can break it as it's non-wsgi service. We also noticed same problems with randomly stucked non-wsgi services like e.g. neutron agents and probably the same issue can happen with any other non-wsgi service. To avoid that this patch changes default value of that config option to be False. Together with [1] it effectively reverts change done in [2] some time ago. [1] https://review.opendev.org/c/openstack/oslo.messaging/+/800621 [2] https://review.opendev.org/c/openstack/oslo.messaging/+/747395 Related-Bug: #1934937 Closes-Bug: #1961402 Change-Id: I85f5b9d1b5d15ad61a9fcd6e25925b7eeb8bf6e7 --- oslo_messaging/_drivers/impl_rabbit.py | 6 ++++-- ...heartbeat-in-pthread-by-default-42e1299f59b841f8.yaml | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/do-not-run-heartbeat-in-pthread-by-default-42e1299f59b841f8.yaml diff --git a/oslo_messaging/_drivers/impl_rabbit.py b/oslo_messaging/_drivers/impl_rabbit.py index ed2642c80..466076217 100644 --- a/oslo_messaging/_drivers/impl_rabbit.py +++ b/oslo_messaging/_drivers/impl_rabbit.py @@ -92,7 +92,7 @@ rabbit_opts = [ 'executable used does not support OpenSSL FIPS mode, ' 'an exception will be raised.'), cfg.BoolOpt('heartbeat_in_pthread', - default=True, + default=False, help="Run the health check heartbeat thread " "through a native python thread by default. If this " "option is equal to False then the health check " @@ -100,7 +100,9 @@ rabbit_opts = [ "from the parent process. For " "example if the parent process has monkey patched the " "stdlib by using eventlet/greenlet then the heartbeat " - "will be run through a green thread.", + "will be run through a green thread. " + "This option should be set to True only for the " + "wsgi services.", ), cfg.FloatOpt('kombu_reconnect_delay', default=1.0, diff --git a/releasenotes/notes/do-not-run-heartbeat-in-pthread-by-default-42e1299f59b841f8.yaml b/releasenotes/notes/do-not-run-heartbeat-in-pthread-by-default-42e1299f59b841f8.yaml new file mode 100644 index 000000000..265e709b9 --- /dev/null +++ b/releasenotes/notes/do-not-run-heartbeat-in-pthread-by-default-42e1299f59b841f8.yaml @@ -0,0 +1,9 @@ +--- +upgrade: + - | + The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` config option + defaults to ``False`` again. + For wsgi applications it is recommended to set this value to ``True`` + but enabling it for non-wsgi services may break such service. + Please check https://bugs.launchpad.net/oslo.messaging/+bug/1934937 + for more details.