maria:bb-10.6-MDEV-25948-MDEV-25611

Last commit made on 2022-11-15
Get this branch:
git clone -b bb-10.6-MDEV-25948-MDEV-25611 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.6-MDEV-25948-MDEV-25611
Repository:
lp:maria

Recent commits

3dd4bad... by Marko Mäkelä

Merge 10.6

Interesting test failures:

./mtr --parallel=auto --mysqld=--debug-dbug=d,ib_log_checkpoint_avoid \
--max-test-fail=0 --big-test --force \
binlog{,_encryption}.binlog_incident rpl.rpl_skip_incident \
binlog.binlog_killed_simulate rpl.rpl_loaddata_fatal

ae6ebaf... by Marko Mäkelä

Merge 10.5 into 10.6

dc2741b... by Marko Mäkelä

MDEV-29984 innodb_fast_shutdown=0 fails to report change buffer merge progress

ibuf.size, ibuf.max_size: Changed the type to Atomic_relaxed<ulint>
in order to fix some (not all) race conditions.

ibuf_contract(): Renamed from ibuf_merge_pages(ulint*).

ibuf_merge(), ibuf_merge_all(): Removed.

srv_shutdown(): Invoke log_free_check() and ibuf_contract(). Even though
ibuf_contract() is not writing anything, it will trigger calls of
ibuf_merge_or_delete_for_page(), which will write something. Because
we cannot invoke log_free_check() at that low level, we must invoke
it at the high level.

srv_shutdown_print(): Replaces srv_shutdown_print_master_pending().
Report progress and remaining work every 15 seconds. For the
change buffer merge, the remaining work is indicated by ibuf.size.

744b33c... by Marko Mäkelä

Cleanup: Remove a useless header file

ee7fba1... by Marko Mäkelä

MDEV-16264 fixup: Remove unused variables

c82f3f1... by Marko Mäkelä

MDEV-29978 Corruption errors upon CHECK on temporary InnoDB table

row_check_index(): Treat secondary indexes of temporary tables as if
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
is in effect. That is, only consider the delete-mark and nothing else.

704c74c... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-29987 Bogus errors about file size in the test mariabackup.defer_space

- Changed the page0 perl corruption code in test case to avoid
the bogus error in windows

e0e096f... by Marko Mäkelä

MDEV-29982 Improve the InnoDB log overwrite error message

The InnoDB write-ahead log ib_logfile0 is of fixed size,
specified by innodb_log_file_size. If the tail of the log
manages to overwrite the head (latest checkpoint) of the log,
crash recovery will be broken.

Let us clarify the messages about this, including adding
a message on the completion of a log checkpoint that notes
that the dangerous situation is over.

To reproduce the dangerous scenario, we will introduce the
debug injection label ib_log_checkpoint_avoid_hard, which will
avoid log checkpoints even harder than the previous
ib_log_checkpoint_avoid.

log_t::overwrite_warned: The first known dangerous log sequence number.
Set in log_close() and cleared in log_write_checkpoint_info(),
which will output a "Crash recovery was broken" message.

2283f82... by Marko Mäkelä

MDEV-29905 fixup: Remove some unnecessary code

srv_shutdown(): Do not call log_free_check(), because it will now
be repeatedly called by ibuf_merge_all(). Do not call
srv_sync_log_buffer_in_background(), because we do not actually care
about durability during shutdown. Log writes will already be triggered
by buf_flush_page_cleaner() for writing back modified pages, possibly by
log_free_check().

logs_empty_and_mark_files_at_shutdown(): Clean up a condition.
This function is the caller of srv_shutdown(), and it will ensure that
the log and the buffer pool will be in clean state before shutdown.

5bf5e6e... by Dominik Hassler <email address hidden>

OS detection logic in my_gethwaddr.c is backwards