maria:bb-10.5-columnstore

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

Branch merges

Branch information

Name:
bb-10.5-columnstore
Repository:
lp:maria

Recent commits

ff2899e... by Oleksandr "Sanja" Byelkin

columnstore-5.6.8-2

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.

85751ed... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-31851 After crash recovery, undo tablespace fails to open

srv_all_undo_tablespaces_open(): While opening the extra unused
undo tablespaces, InnoDB should use ULINT_UNDEFINED instead of
SRV_SPACE_ID_UPPER_BOUND.

dbba1bb... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-31851 After crash recovery, undo tablespace fails to open

recv_recovery_from_checkpoint_start(): InnoDB should add the
redo log block header + trailer size while checking the log
sequence number in log file with log sequence number in the
system tablespace first page.

2d6dc65... by Marko Mäkelä

MDEV-32144 fixup

In commit 384eb570a654261639dc1fc73c347f0d3759f567 the debug check
was relaxed in trx_undo_header_create(), not in the intended function
trx_undo_write_xid().

cfd1788... by Marko Mäkelä

MDEV-32511: Race condition between checkpoint and page write

fil_aio_callback(): Invoke fil_node_t::complete_write() before
releasing any page latch, so that in case a log checkpoint is
executed roughly concurrently with the first write into a file
since the previous checkpoint, we will not miss a fdatasync()
or fsync() call to make the write durable.

3da5d04... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-31851 After crash recovery, undo tablespace fails to open

Problem:
========
- InnoDB fails to open undo tablespace when page0 is corrupted
and fails to throw error.

Solution:
=========
- InnoDB throws DB_CORRUPTION error when InnoDB encounters
page0 corruption of undo tablespace.

- InnoDB restores the page0 of undo tablespace from
doublewrite buffer if it encounters page corruption

- Moved Datafile::restore_from_doublewrite() to
recv_dblwr_t::restore_first_page(). So that undo
tablespace and system tablespace can use this function
instead of duplicating the code

srv_undo_tablespace_open(): Returns 0 if file doesn't exist
or ULINT_UNDEFINED if page0 is corrupted.

ea0b1cc... by Sergei Golubchik

Revert "MDEV-29091: Correct event_name in PFS for wait caused by FOR UPDATE"

This reverts commit 03c9a4ef4a0363ba0ffd1843284332fb9c5fd692.

The fix is wrong. It was doing this: if the uninitialized
wait->m_class has some specific value, then don't initialize it.

c378efe... by Sergei Golubchik

make perfschema.show_aggregate test more reliable

e3e66a5... by Sergei Golubchik

make perfschema.show_aggregate test more debuggable