maria:bb-10.4-monty

Last commit made on 2024-01-30
Get this branch:
git clone -b bb-10.4-monty https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-monty
Repository:
lp:maria

Recent commits

57ffcd6... by Monty <email address hidden>

MDEV-21472: ALTER TABLE ... ANALYZE PARTITION ... with EITS reads and locks all rows

This was fixed in 10.2 in 2020 but merging the code to 10.3 caused the
bug to come back.

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

MDEV-33173 : Galera test case galera_sr_kill_slave_before_apply unstable

Add wait_condition to make sure tables are created before next
operations.

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

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

MDEV-33172 : Galera test case galera_mdl_race unstable

Add wait_condition between debug sync SIGNAL points and other
expected state conditions and refactor actual sync point for
easier to use in test case.

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

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

MDEV-33036 : Galera test case galera_3nodes.galera_ist_gcache_rollover has warning

Correct used configuration and force server restarts before test
case. Add wait condition instead of sleep to verify that
all expected nodes are back to cluster.

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

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

MDEV-33138 : Galera test case MW-336 unstable

Add more inserts before wsrep_slave_threads is set to 1 and
add wait_condition to wait all of them are replicated before
wait_condition about number of wsrep_slave_threads.

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

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

MDEV-32635: galera_shutdown_nonprim: mysql_shutdown failed

Add wait_condition after cluster membership change

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

e4f221a... by Brandon Nesterenko

MDEV-33327: rpl_seconds_behind_master_spike Sensitive to IO Thread Stop Position

rpl.rpl_seconds_behind_master_spike uses the DEBUG_SYNC mechanism to
count how many format descriptor events (FDEs) have been executed,
to attempt to pause on a specific relay log FDE after executing
transactions. However, depending on when the IO thread is stopped,
it can send an extra FDE before sending the transactions, forcing
the test to pause before executing any transactions, resulting in a
table not existing, that is attempted to be read for COUNT.

This patch fixes this by no longer counting FDEs, but rather by
programmatically waiting until the SQL thread has executed the
transaction and then automatically activating the DEBUG_SYNC point
to trigger at the next relay log FDE.

c768ac6... 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.4-10.5 case of fix.

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

daaa16a... 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>

3228c08... 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>