From 3a48395f233049dbadb7312b5aafc0627a1e5bb6 Mon Sep 17 00:00:00 2001 From: Chris Lumens Date: Tue, 31 Oct 2023 12:01:42 -0400 Subject: [PATCH] Revert the rest of the attrd shutdown race condition fix - Related: RHEL-14052 --- 011-revert-f5263c94.patch | 34 ++++++++++++++++++++++++++++++++++ pacemaker.spec | 7 ++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 011-revert-f5263c94.patch diff --git a/011-revert-f5263c94.patch b/011-revert-f5263c94.patch new file mode 100644 index 0000000..c0f1c03 --- /dev/null +++ b/011-revert-f5263c94.patch @@ -0,0 +1,34 @@ +From 14b87a38786ae5b4dc12fc1581e5d39a274fced2 Mon Sep 17 00:00:00 2001 +From: Ken Gaillot +Date: Mon, 30 Oct 2023 12:21:24 -0500 +Subject: [PATCH] Fix: attrd: revert faulty T138 fix + +f5263c9401 created a timing issue where a node could get a shutdown attribute, +the original writer leaves the cluster before writing it out, then the +shutting-down node wins the writer election. In that case, it would skip the +write-out and the scheduler would never shut it down. + +Reopens T138 +--- + daemons/attrd/attrd_elections.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/daemons/attrd/attrd_elections.c b/daemons/attrd/attrd_elections.c +index 62310ed1d8..82fbe8affc 100644 +--- a/daemons/attrd/attrd_elections.c ++++ b/daemons/attrd/attrd_elections.c +@@ -22,14 +22,6 @@ + { + attrd_declare_winner(); + +- if (attrd_requesting_shutdown() || attrd_shutting_down()) { +- /* This node is shutting down or about to, meaning its attributes will +- * be removed (and may have already been removed from the CIB by a +- * controller). Don't sync or write its attributes in this case. +- */ +- return G_SOURCE_REMOVE; +- } +- + /* Update the peers after an election */ + attrd_peer_sync(NULL, NULL); + diff --git a/pacemaker.spec b/pacemaker.spec index 3cd66dd..d667fb1 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -242,7 +242,7 @@ Name: pacemaker Summary: Scalable High-Availability cluster resource manager Version: %{pcmkversion} -Release: %{pcmk_release}%{?dist} +Release: %{pcmk_release}.1%{?dist} %if %{defined _unitdir} License: GPL-2.0-or-later AND LGPL-2.1-or-later %else @@ -273,6 +273,7 @@ Patch007: 007-glib-assertions.patch Patch008: 008-attrd-shutdown.patch Patch009: 009-attrd-shutdown-2.patch Patch010: 010-revert-58400e27.patch +Patch011: 011-revert-f5263c94.patch # downstream-only commits #Patch1xx: 1xx-xxxx.patch @@ -1011,6 +1012,10 @@ exit 0 %license %{nagios_name}-%{nagios_hash}/COPYING %changelog +* Tue Oct 31 2023 Chris Lumens - 2.1.6-9.1 +- Revert the rest of the attrd shutdown race condition fix +- Related: RHEL-14052 + * Mon Oct 23 2023 Chris Lumens - 2.1.6-9 - Avoid an error if the elected attrd is on a node that is shutting down - Resolves: RHEL-14052