maria:bb-10.5-release-julius

Last commit made on 2023-10-24
Get this branch:
git clone -b bb-10.5-release-julius https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.5-release-julius
Repository:
lp:maria

Recent commits

f60fc22... by Oleksandr "Sanja" Byelkin

Merge branch '10.5' into bb-10.5-release

07efc44... by Oleksandr "Sanja" Byelkin

Merge branch '10.4' into bb-10.5-release

b5e43a1... by Marko Mäkelä

MDEV-32552 Write-ahead logging is broken for freed pages

buf_page_free(): Flag the freed page as modified if it is found in
the buffer pool.

buf_flush_page(): If the page has been freed, ensure that the log
for it has been durably written, before removing the page
from buf_pool.flush_list.

FindBlockX: Find also MTR_MEMO_PAGE_X_MODIFY in order to avoid an
occasional failure of innodb.innodb_defrag_concurrent, which involves
freeing and reallocating pages in the same mini-transaction.

This fixes a regression that was introduced in
commit a35b4ae89871d8184f04abb112c385481d557dbb (MDEV-15528).

This logic was tested by commenting out the $shutdown_timeout line
from a test and running the following:

./mtr --rr innodb.scrub
rr replay var/log/mysqld.1.rr/mariadbd-0

A breakpoint in the modified buf_flush_page() was hit, and the
FIL_PAGE_LSN of that page had been last modified during the
mtr_t::commit() of a mini-transaction where buf_page_free()
had been executed on that page.

1fe4a71... by Andrei <email address hidden>

MDEV-31792 Assertion fails in MDL_context::acquire_lock upon parallel replication of CREATE SEQUENCE

The assert's reason was in missed FL_DDL flagging of CREATE-or-REPLACE
Query event.
MDEV-27365 fixes covered only the non-pre-existing table execution branch so
did not see a possibility of implicit commit in
the middle of execution in a rollback branch when the being CREATEd
sequence table is actually replaced.
The pre-existing table branch cleared the DDL modification
flag so the query lost FL_DDL in binlog and its parallel execution
on slave may have ended up with the assert to indicate the query
is raced by a following in binlog order event.

Fixed with applying the MDEV-27365 pattern.
An mtr test is added to cover the rollback situation.
The description test [ pass ] with a generous number of mtr parallel
reties.

5ca941c... by Oleksandr "Sanja" Byelkin

New CC v3.1

d2d657e... by Alexander Barkov

MDEV-31187 Add class Sql_mode_save_for_frm_handling

babd833... by AR

MDEV-29914: Fix maridab-upgrade when sql_safe_updates = on is set in my.cnf

Tested multiple major version upgrades with sql_safe_updates enabled, and
confirmed the issue is resolved.

Reviewer: Daniel Black

179424d... by Alexander Barkov

MDEV-32025 Crashes in MDL_key::mdl_key_init with lower-case-table-names=2

Backporting a part of MDEV-32026 (which also fixed MDEV-32025 in 11.3)
from 11.3 to 10.4.

The reported crash happened with --lower-case-table-names=2
on statements like:

ALTER DATABASE Db1 DEFAULT CHARACTER SET utf8;
ALTER DATABASE `#mysql50#D+b1` UPGRADE DATA DIRECTORY NAME;

lock_schema_name() expects a normalized database name
and assert if a non-normalized name comes.

mysql_alter_db_internal() and mysql_upgrade_db() get
a non-normalized database name in the parameter.
Fixing them to normalize the database name before passing
it to lock_schema_name().

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

MDEV-32024 : Galera library 26.4.16 fails with every server version

Problem was that total order isolation (TOI) is started before
we know sequence implementing storage engine. This led to
situation where table implementing persistent storate
for sequence in case of MyISAM was created on applier causing
errors later in test execution.

Therefore, in both CREATE SEQUENCE and ALTER TABLE to implementing
persistent storage we need to check implementing storage engine
after open_tables and this check must be done in both master
and applier, because if implementing storage engine is MyISAM
it does not support rollback.

Added tests to make sure that if sequence implementing storage
engine is MyISAM or we try to alter it to MyISAM user gets error
and changes are not replicated.

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

b719331... by Oleksandr "Sanja" Byelkin

Merge branch '10.5' into bb-10.5-release