maria:bb-10.7-serg

Last commit made on 2022-06-16
Get this branch:
git clone -b bb-10.7-serg https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.7-serg
Repository:
lp:maria

Recent commits

2643aa4... by Sergei Golubchik

fix spider.variable_deprecation test

5ad9a41... by Sergei Golubchik

re-enable innodb.innodb_page_compressed tests

a8c22da... by Marko Mäkelä

Merge 10.6 into 10.7

5bb90cb... by Marko Mäkelä

Merge 10.5 into 10.6

e99ba4a... by Marko Mäkelä

MDEV-28864 Assertion `trx_id <= create_id' failed in innodb_check_version()

ha_innobase::prepare_inplace_alter_table(): If the ALTER TABLE
operation is no-op for InnoDB, do reset m_prebuilt->trx_id
so that ha_innobase::table_version() will always report either 0
or the identifier of the transaction that would commit changes
to the InnoDB data dictionary.

The failure scenario involved a completed DROP INDEX followed by
a no-op ALTER TABLE during which the server was killed.
An effort to create a reproducible test failed.

253806d... by Marko Mäkelä

MDEV-28845 InnoDB: Failing assertion: bpage->can_relocate() in buf0lru.cc

Since commit 0b47c126e31cddda1e94588799599e138400bcf8 (MDEV-13542)
we treat all-zero pages as corrupted ones.

During a stress test, a read-ahead of an all-zero page was triggered
and the page read was completed concurrently with buf_page_create_low().
This caused the assertion to fail, because buf_page_create_low() was
waiting for the page latch.

buf_page_get_low(): Only invoke buf_pool_t::corrupted_evict()
if the block was not already marked as corrupted.

buf_page_create_low(): On page identifier mismatch, retry the
buf_pool.page_hash lookup.

buf_pool_t::corrupted_evict(): Set the state of the block to FREED
so that a concurrent buf_page_get_low() will refuse to load the page.
Wait for the page latch to be vacant before proceeding to remove
the block from buf_pool.page_hash and buf_pool.LRU.

page_id_t::set_corrupted(), page_id_t::is_corrupted(): Accessors
for indicating a corrupted page identifier.

Tested by Matthias Leich

0850267... by Marko Mäkelä

MDEV-13542 fixup: Relax an assertion

27309fc... by Vlad Lesin

MDEV-28832 infinite loop in mariabackup if log LOG_HEADER_FORMAT field is 0

Avoid the loop with getting rid of back and forth jumping.

42d3a7b... by Marko Mäkelä

Merge 10.6 into 10.7

6c82ab4... by Marko Mäkelä

MDEV-28840 innodb_undo_log_truncate is not crash-safe

trx_purge_free_segment(): Do mark that the block will be modified.

It seems possible that this regression was introduced by the
changes to the page-freeing logic
in commit 4179f93d28035ea2798cb1c16feeaaef87ab4775 (MDEV-18976).

Tested by: Matthias Leich