maria:bb-10.6-MDEV-25731-galera

Last commit made on 2024-01-29
Get this branch:
git clone -b bb-10.6-MDEV-25731-galera https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.6-MDEV-25731-galera
Repository:
lp:maria

Recent commits

cef3381... by =?utf-8?q?Jan_Lindstr=C3=B6m?= <email address hidden>

MDEV-25731 : Assertion `mode_ == m_local' failed in wsrep::client_state::streaming_params()

Problem was that if wsrep_load_data_splitting was used
streaming replication (SR) parameters were set
for MyISAM table. Galera does not currently support SR for
MyISAM.

Fix is to ignore wsrep_load_data_splitting setting (with
warning) if table is not InnoDB table.

This is 10.6+ case of fix.

Signed-off-by: Julius Goryavsky <email address hidden>

a22edef... by =?utf-8?q?Jan_Lindstr=C3=B6m?= <email address hidden>

MDEV-25089 : Assertion `error.len > 0' failed in galera::ReplicatorSMM::handle_apply_error()

Problem is that Galera starts TOI (total order isolation) i.e.
it sends query to all nodes. Later it is discovered that
used engine or other feature is not supported by Galera.
Because TOI is executed parallelly in all nodes appliers
could execute given TOI and ignore the error and
start inconsistency voting causing node to leave from
cluster or we might have a crash as reported.

For example SEQUENCE engine does not support GEOMETRY data
type causing either inconsistency between nodes (because
some errors are ignored on applier) or crash.

Fixed my adding new function wsrep_check_support to check
can Galera support provided CREATE TABLE/SEQUENCE before TOI is
started and if not clear error message is provided to
the user.

Currently, not supported cases:

* CREATE TABLE ... AS SELECT when streaming replication is used
* CREATE TABLE ... WITH SYSTEM VERSIONING AS SELECT
* CREATE TABLE ... ENGINE=SEQUENCE
* CREATE SEQUENCE ... ENGINE!=InnoDB
* ALTER TABLE t ... ENGINE!=InnoDB where table t is SEQUENCE

Signed-off-by: Julius Goryavsky <email address hidden>

47463f9... by =?utf-8?q?Jan_Lindstr=C3=B6m?= <email address hidden>

MDEV-22063 : Assertion `0' failed in wsrep::transaction::before_rollback

Problem was that REPLACE was using consistency check that started
TOI and we tried to rollback it.

Do not use wsrep_before_rollback and wsrep_after_rollback if
we are runing consistency check because no writeset keys are
in that case added. Do not allow consistency check usage
if table storage for target table is not InnoDB, instead
give warning. REPLACE|SELECT INTO ... SELECT will use
now TOI if table storage for target table is not InnoDB
to maintain consistency between galera nodes.

Signed-off-by: Julius Goryavsky <email address hidden>

4dbf55b... by Monty <email address hidden>

Disable perfschema.misc_session_status for 32 bit

32bit uses less memory so the test for max_memory_usage does not work

ed76a2e... by Monty <email address hidden>

Updated some 32 bit result files in sys_vars

e20693c... by Monty <email address hidden>

Fixed some wrong printf() usage after changing m_table_id to ulonglong

This caused some crashes on 32 bit platforms.

daca0c0... by Rucha Deodhar <email address hidden>

fix failing test on buildbot for MDEV-27087

220c0fb... by Marko Mäkelä

MDEV-33317 [Warning] InnoDB: Could not free any blocks in the buffer pool!

Let us suppress this timing-sensitive warning globally.
We added it in commit d34479dc664d4cbd4e9dad6b0f92d7c8e55595d1 (MDEV-33053)
so that in case InnoDB hangs due to running out of buffer pool, there
would be a warning about it. On a heavily loaded system that is running
with a small buffer pool, these warnings may be occasionally issued
while page writes are in progress.

c9c4f15... by VladislavVaintroub

Remove bogus "perl not found" on Windows.

Testing exit code from popen(), comparing it with 1, and deciding that
perl.exe is not there, is a) wrong conclusion, and b) uninteresting,
because MTR always runs with perl, and with MTR_PERL set.

Background:
Recent change in 7af50e4df456761c433838f0e65e88b9117f298c introduced
exit code 1 from perl snippet, that broke Windows CI. Do not want
to debug this ever again.

9d88c5b... by Alexey Botchkov

MDEV-31616 Problems with a stored function EMPTY() on upgrade to 10.6.

The IDENT_sys doesn't include keywords, so the function with the
keyword name can be created, but cannot be called.
Moving keywords to new rules keyword_func_sp_var_and_label and
keyword_func_sp_var_not_label so the functions with these
names are allowed.