maria:bb-10.5-MDEV-26450

Last commit made on 2021-09-22
Get this branch:
git clone -b bb-10.5-MDEV-26450 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.5-MDEV-26450
Repository:
lp:maria

Recent commits

2755e86... by Marko Mäkelä

MDEV-26626 fixup: Do not advance checkpoint during startup

While the redo log is being resized in srv_start(),
we must not write checkpoint information to the old log.

Thanks to Matthias Leich for noticing this.

7b9a282... by Marko Mäkelä

MDEV-26445 innodb_undo_log_truncate is unnecessarily slow

trx_purge_truncate_history(): Do not force a write of the undo tablespace
that is being truncated. Instead, prevent page writes by acquiring
an exclusive latch on all dirty pages of the tablespace.

fseg_create(): Relax an assertion that could fail if a dirty undo page
is being initialized during undo tablespace truncation (and
trx_purge_truncate_history() already acquired an exclusive latch on it).

fsp_page_create(): If we are truncating a tablespace, try to reuse
a page that we may have already latched exclusively (because it was
in buf_pool.flush_list). To some extent, this helps the test
innodb.undo_truncate,16k to avoid running out of buffer pool.

mtr_t::commit_shrink(): Mark as clean all pages that are outside the
new bounds of the tablespace, and only add the newly reinitialized pages
to the buf_pool.flush_list.

buf_page_create(): Do not unnecessarily invoke change buffer merge on
undo tablespaces.

buf_page_t::clear_oldest_modification(bool temporary): Move some
assertions to the caller buf_page_write_complete().

innodb.undo_truncate: Use a bigger innodb_buffer_pool_size=24M.
On my system, it would otherwise hang 1 out of 1547 attempts
(on the 40th repeat of innodb.undo_truncate,16k).
Other page sizes were not affected.

c260139... by Marko Mäkelä

MDEV-26450: Corruption due to innodb_undo_log_truncate

At least since commit 055a3334adc004bd3a897990c2f93178e6bb5f90
(MDEV-13564) the undo log truncation in InnoDB did not work correctly.

The main issue is that during the execution of
trx_purge_truncate_history() some pages of the newly truncated
undo tablespace could be discarded.

fsp_try_extend_data_file(): Apply the peculiar rounding of
fil_space_t::size_in_header only to the system tablespace,
whose size can be expressed in megabytes in a configuration parameter.
Other files may freely grow by a number of pages.

fseg_alloc_free_page_low(): Do allow the extension of undo tablespaces,
and mention the file name in the error message.

mtr_t::commit_shrink(): Implement crash-safe shrinking of a tablespace
file. First, durably write the log, then shrink the file, and finally
release the page latches of the rebuilt tablespace. Refactored from
trx_purge_truncate_history().

log_write_and_flush_prepare(), log_write_and_flush(): New functions
to durably write log during mtr_t::commit_shrink().

7d36006... by Alexey Bychko <email address hidden>

MDEV-24629 mariadb-connector-c-config conflicts with MariaDB's MariaDB-common-10.5.8-1.fc32.x86_64.rpm

this fix is adding alternative name to MariaDB-common on Fedora.
the fix is placed outside of IF/ELSEIF blocks to do not overwrite
existing one for Fedora.

edabb12... by Anel Husakovic <email address hidden>

MDEV-21286: bison warnings on ubuntu 20.04 on deprecated directive in sql_yacc.yy

Results with
```
%define api.pure /* We have threads */
```
in `<build-dir>/sql/[yy_mariadb|yy_oracle].yy` files.

Reviewed by: <email address hidden>

de2b579... by Ian Gilfillan <email address hidden>

Remove mention of Freenode

b407406... by Vladislav Vaintroub

MDEV-26657 : Initialize some fields in create_background_thd()

Avoid reading uninitialized memory by thd_get_error_context_description().
Note, that THD::real_id can't be initialized at this stage, so it will be zeroed.

699de65... by Marko Mäkelä

Merge 10.4 into 10.5

03a1070... by Monty <email address hidden>

Fixed alias.test to also works with ps

The issue is that max_length for prepared statements are different from
normal queries, which can optimize the max_length based on the result
length.

a2e5513... by Julius Goryavsky <email address hidden>

MDEV-19950 addendum: galera_ssl_upgrade removed from the list of disabled tests and adapted for 10.4+