From e55d2f2c0a3a851d1efba0c9d209770f67a8abd1 Mon Sep 17 00:00:00 2001 From: Hemant Dangi Date: Fri, 3 Jul 2026 16:39:24 +0530 Subject: [PATCH 1/4] MDEV-38843: WSREP: BF applier failed on a node causing complete Cluster lockup Issue: When an applier commit fails (e.g. commit order could not be entered because the node is leaving the primary component), the caller skipped after_apply() and left the transaction active. It is then carried to client_state::close(), which runs the local-only after_statement() and asserts client_state_.mode() == m_local in debug builds. Solution: On commit failure roll the applier transaction back and always call after_apply() so it is terminated on the error path, mirroring the apply-error branch. --- src/server_state.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server_state.cpp b/src/server_state.cpp index 6045b429..975bb796 100644 --- a/src/server_state.cpp +++ b/src/server_state.cpp @@ -336,7 +336,14 @@ static int apply_write_set(wsrep::server_state& server_state, { assert(err.size() == 0); ret = high_priority_service.commit(ws_handle, ws_meta); - ret = ret || (high_priority_service.after_apply(), 0); + // Commit may fail if commit order could not be entered, e.g. + // the node left the primary component. Roll back the + // still-active applier transaction; after_apply() cleans up. + if (ret) + { + high_priority_service.rollback(ws_handle, ws_meta); + } + high_priority_service.after_apply(); } else { From a54893ae9eccae7283d1c8164c692f2a83b8395c Mon Sep 17 00:00:00 2001 From: Brandon Nesterenko Date: Tue, 7 Jul 2026 09:56:29 -0600 Subject: [PATCH 2/4] MDEV-39710: Update git modules WSREP Links to mariadb-corporation The .gitmodules file uses the old Codership Github repo link. This redirects to the mariadb-corporation repo, so it isn't a functional problem, but it should still be updated to the correct repo. --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 886054a3..8b4c8ef6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "wsrep-API/v26"] path = wsrep-API/v26 - url = https://github.com/codership/wsrep-API.git + url = https://github.com/mariadb-corporation/wsrep-API.git From cf331a00c748efff9928c80063e83ce167413a96 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Sun, 9 Aug 2026 13:14:22 +1000 Subject: [PATCH 3/4] std::back_inserter needs iterator include header Noticed in failed to build on clang-24. --- include/wsrep/buffer.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/wsrep/buffer.hpp b/include/wsrep/buffer.hpp index 1c1ac599..d36da2bf 100644 --- a/include/wsrep/buffer.hpp +++ b/include/wsrep/buffer.hpp @@ -22,6 +22,7 @@ #include #include +#include namespace wsrep { From 425b1364e70ba424cc4ebc1ad8dd0d71031fa853 Mon Sep 17 00:00:00 2001 From: Jaideep Karande Date: Tue, 11 Aug 2026 23:23:32 +0530 Subject: [PATCH 4/4] PXC-5267: Update wsrep-API submodule - merge mariadb/master for PXC 8.4.11-11 wsrep-API/v26: 7fe08ed333419c353438ed0d1068b9ea72fa5d50 -> f80a23b6642c2d7d4d2e32ad4ba9d6fea4bdfeba --- wsrep-API/v26 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wsrep-API/v26 b/wsrep-API/v26 index 7fe08ed3..f80a23b6 160000 --- a/wsrep-API/v26 +++ b/wsrep-API/v26 @@ -1 +1 @@ -Subproject commit 7fe08ed333419c353438ed0d1068b9ea72fa5d50 +Subproject commit f80a23b6642c2d7d4d2e32ad4ba9d6fea4bdfeba