maria:bb-10.4-MDEV-30620

Last commit made on 2023-03-23
Get this branch:
git clone -b bb-10.4-MDEV-30620 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-MDEV-30620
Repository:
lp:maria

Recent commits

7e63f3b... by Andrei <email address hidden>

MDEV-30620 Trying to lock uninitialized LOCK_parallel_entry

The error was seen by a number of mtr tests being caused
by overdue initialization of rpl_parallel::LOCK_parallel_entry.
Specifically, SHOW-SLAVE-STATUS might find in
rpl_parallel::workers_idle() a gtid domain hash entry
already inserted whose mutex had not done
mysql_mutex_init().

Fixed with swapping the mutex init and the its entry's stack insertion.

Tested with a generous number of `mtr --repeat` of a few of the reported
to fail tests, incl rpl.parallel_backup.

7c91082... by Yuchen Pei

MDEV-27912 Fixing inconsistency w.r.t. expect files in tests.

mtr uses group suffix, but some existing inc and test files use
server_id for expect files. This patch aims to fix that.

For spider:

With this change we will not have to maintain a separate version of
restart_mysqld.inc for spider, that duplicates code, just because
spider tests use different names for expect files, and shutdown_mysqld
requires magical names for them.

With this change spider tests will also be able to use other features
provided by restart_mysqld.inc without code duplication, like the
parameter $restart_parameters (see e.g. the testcase mdev_29904.test
in commit ef1161e5d4f).

Tests run after this change: default, spider, rocksdb, galera, using
the following command

mtr --parallel=auto --force --max-test-fail=0 --skip-core-file
mtr --suite spider,spider/*,spider/*/* \
    --skip-test="spider/oracle.*|.*/t\..*" --parallel=auto --big-test \
    --force --max-test-fail=0 --skip-core-file
mtr --suite galera --parallel=auto
mtr --suite rocksdb --parallel=auto

e0560fc... by Marko Mäkelä

Remove a bogus UNIV_ZIP_DEBUG check

buf_LRU_block_remove_hashed(): Ever since
commit 2e814d4702d71a04388386a9f591d14a35980bfe
we could get page_zip_validate() failures after an ALTER TABLE
operation was aborted and BtrBulk::pageCommit() had never been
executed on some blocks.

c73a65f... by Marko Mäkelä

MDEV-29692 Assertion `(writeptr + (i * size)) != local_frame' failed upon IMPORT TABLESPACE

fil_iterate(): Allocation bitmap pages are never encrypted.

Reviewed by: Thirunarayanan Balathandayuthapani

f8c3d4c... by Vlad Lesin

MDEV-28187 mariadb-backup doesn't utilise innodb-undo-log-directory (if specified as a relative path) during copy-back operation

Make absolute destination path from relative one, basing on mysql data
directory.

Reviewed by Alexander Barkov.

a2cb6d8... by Vicențiu Ciorbaru

Update feedback plugin URL to use feedback.mariadb.org subdomain

26e4ba5... by Marko Mäkelä

Fix cmake -DWITH_INNODB_EXTRA_DEBUG (UNIV_ZIP_DEBUG)

d433962... by Andrei <email address hidden>

MDEV-30780 optimistic parallel slave hangs after hit an error

The hang could be seen as show slave status displaying an error like
    Last_Error: Could not execute Write_rows_v1
along with
    Slave_SQL_Running: Yes

accompanied with one of the replication threads in show-processlist
characteristically having status like

   2394 | system user | | NULL | Slave_worker | 50852| closing tables

It turns out that closing tables worker got entrapped in endless looping
in mark_start_commit_inner() across already garbage-collected gco items.

The reclaimed gco links are explained with actually possible
out-of-order groups of events termination due to the Last_Error.
This patch reinforces the correct ordering to perform
finish_event_group's cleanup actions, incl unlinking gco:s
from the active list.

dfdcd7f... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-26198 Assertion `0' failed in row_log_table_apply_op during
  redundant table rebuild

- InnoDB alter fails to apply the online log during redundant table
rebuild. Problem is that InnoDB wrongly reads the length flags of the
record while applying the temporary log record.

rec_init_offsets_comp_ordinary(): For finding the n_core_null_bytes,
InnoDB should use the same logic as rec_convert_dtuple_to_rec_comp().

8b37e79... by Julius Goryavsky <email address hidden>

Post-MDEV-30700: moving alloca() definitions from all *.h files to new header file

Included config file for proper compilation without <my_global.h>