Visitar URL original
Knielsen mdev41658 galera mark start commit by janlindstrom · Pull Request #6138 · MariaDB/server · GitHub
Skip to content

Knielsen mdev41658 galera mark start commit - #6138

Open
janlindstrom wants to merge 2 commits into
10.11from
knielsen_mdev41658_galera_mark_start_commit
Open

janlindstrom wants to merge 2 commits into
10.11from
knielsen_mdev41658_galera_mark_start_commit

Conversation

@janlindstrom

Copy link
Copy Markdown
Contributor

No description provided.

@janlindstrom janlindstrom self-assigned this Nov 13, 2026
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ janlindstrom
❌ knielsen
You have signed the CLA already but the status is still pending? Let us recheck it.

knielsen and others added 2 commits November 13, 2026 08:42
…illed

A parallel-replication worker would assert in ha_rollback_trans() because
wsrep_after_statement() and ha_commit_trans()'s wsrep error path could
roll back its transaction before retry_event_group() unmarks it as
committing.

Skip mark_start_commit() when using Galera. Galera certification can cause
rollback of parallel replication transactions during commit when there is a
conflicting transaction outside of replication. This can cause to start the
next GCO too early, while the previous GCO still needs to rollback and
retry.

Do not fail replication with an error when wsrep_after_statement() fails due
to a retryable error like brute-force kill.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
rpt_handle_event() now calls wsrep_after_statement() unconditionally,
so the provider handle and commit-order slot are released even when
apply_event_and_update_pos_for_parallel() already failed. Its own
failure maps through wsrep_override_error()/wsrep_current_error(),
covering every wsrep::client_error code instead of only
e_deadlock_error and e_interrupted_error, so has_temporary_error() can
recognise any resulting retryable error. Log severity for the
genuinely unexpected failure case reverts to WSREP_WARN.

The duplicated mark_start_commit() guard in retry_event_group() and
handle_rpl_parallel_thread() is factored into one
mark_start_commit_unless_wsrep() helper.

galera_parallel_slave_rollback.cnf drops the redundant
binlog-format=row, already set by the included
galera_2nodes_as_slave.cnf.

Assisted-by: Claude:claude-4.6-sonnet
@janlindstrom
janlindstrom force-pushed the knielsen_mdev41658_galera_mark_start_commit branch from 7b9250c to 1423c87 Compare November 13, 2026 06:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

4 participants