Skip to content

PXC-5267: Code refresh for - PXC 8.4.11-11 - #29

Draft
jaideepkarande wants to merge 5 commits into
percona:percona-4.x-8.0from
jaideepkarande:PXC_5267
Draft

PXC-5267: Code refresh for - PXC 8.4.11-11#29
jaideepkarande wants to merge 5 commits into
percona:percona-4.x-8.0from
jaideepkarande:PXC_5267

Conversation

@jaideepkarande

@jaideepkarande jaideepkarande commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

wsrep-lib refresh for the PXC 8.4.11-11 release (PXC-5267).

What this merges

mariadb-corporation/wsrep-lib master @ cf331a00 — three commits:

Commit
e55d2f2c0a3 MDEV-38843 — WSREP: BF applier failed on a node causing complete cluster lockup. The substantive fix in this refresh
cf331a00c74 std::back_inserter needs iterator include header — build fix
a54893ae9ec MDEV-39710: update git modules WSREP links to mariadb-corporation — not taken, see below

The one manual conflict — and what was deliberately not taken

a54893ae9ec rewrites .gitmodules to point wsrep-API at mariadb-corporation. That conflicted, and the resolution was keep ours:

url = https://github.com/percona/wsrep-API.git
branch = percona-4.x-8.0

PXC consumes Percona's wsrep-API fork, not MariaDB's, so adopting upstream's URL would have silently repointed the submodule at a different project. This is the only hand-resolution in the PR, and it is the reason the merge commit is marked (conflicts solved).

Recording it here because a pointer or URL left unchanged is invisible in a diff — the next release will hit the same conflict, and this is the answer to why it resolves this way.

Submodule pointer

Path Before → After
wsrep-API/v26 7fe08ed3334f80a23b6642

That carries mariadb/master@cf9c0a2c into wsrep-API. Its five commits are all upstream v26 up-merges carrying nothing of their own, so wsrep-API's tree is unchanged and the bump records provenance only.

Merge order — this matters

percona/wsrep-API#15   →   percona/wsrep-lib (this PR)   →   percona/percona-xtradb-cluster#2349

The pointer above references f80a23b6642, which currently exists only on jaideepkarande/wsrep-API. Until the wsrep-API PR merges, a clone of percona/wsrep-lib at this branch cannot git submodule update.

Validation

wsrep-lib is not built standalone; it is exercised through the PXC release runs of pxc-8.x-pipeline-parallel-mtr, which build this exact sha as a submodule:

Config Run Result
Debug #884 8 failures vs 10 in its baseline
RelWithDebInfo #885 4 vs 3
ASAN #886 35 vs 38 — not comparable, one worker did not run
Valgrind #887 running

UNSTABLE is the normal outcome of that job; the gate is no new failures against the paired baseline. Worth noting for this PR specifically: the release's one crash — every Galera TOI apply aborting the applier — ran through wsrep-lib/src/server_state.cpp and wsrep_provider_v26.cpp in its stack, but the defect was not in wsrep-lib. It was a PXC-side predicate (Relay_log_info::belongs_to_client()) reporting the wsrep applier as a client session, tripping an assertion new in PS 8.4.11-11. Fixed on the PXC branch; nothing here required a change. Full analysis on #2349.

Related

Before this leaves draft

  1. The wsrep-API PR merged, so the pointer resolves in percona/wsrep-API.
  2. Valgrind read, and ASAN re-run so that all workers execute.

hemantdangi-gc and others added 5 commits July 3, 2026 17:08
…er 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.
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.
Noticed in failed to build on clang-24.
…1a00) (conflicts solved)

Merge remote-tracking branch 'maria_galera/master' into PXC_5267

Conflicts:
        .gitmodules
….4.11-11

wsrep-API/v26: 7fe08ed333419c353438ed0d1068b9ea72fa5d50 -> f80a23b6642c2d7d4d2e32ad4ba9d6fea4bdfeba
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants