maria:bb-10.10-MDEV-27902

Last commit made on 2022-06-11
Get this branch:
git clone -b bb-10.10-MDEV-27902 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.10-MDEV-27902
Repository:
lp:maria

Recent commits

7776fdb... by Nayuta Yanagisawa

MDEV-27902 SIGSEGV's in spider_check_and_set_trx_isolation, spider_db_open_handler, and ha_spider::external_lock and __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed in psi_mutex_lock and inline_mysql_mutex_lock, and SIGABRT in safe_mutex_lock

32edabd... by Marko Mäkelä

Merge 10.9 into 10.10

6dea701... by Marko Mäkelä

Merge 10.8 into 10.9

62419b1... by Marko Mäkelä

MDEV-26713 fixup: Correct the main.winservice_i18n result

0af9346... by Marko Mäkelä

Merge 10.7 into 10.8

d61839c... by Marko Mäkelä

MDEV-28708 Increased congestion on buf_pool.flush_list_mutex

In commit f80deb9590775af44da200920ee9ac662e93205d (MDEV-27868)
a fix for a correctness regression caused a performance regression
by increasing the amount of work that is executed while holding
buf_pool.flush_list_mutex.

buf_page_t::set_temp_modified(): Relax an assertion, to allow an
already dirty block to be marked as dirty.

buf_page_t::flush_list_requests: Note that the variable is not
always protected by buf_pool.flush_list_mutex. Already dirty blocks
that are being written to will increment the counter without
holding buf_pool.flush_list_mutex.

mtr_t::process_freed_pages(): Handle pages that were freed during
the execution of the mini-transaction.

ReleaseUnlogged, mtr_t::release_unlogged(): Release modified pages when
no log was written. This is for pages of the temporary tablespace, or for
IMPORT TABLESPACE.

ReleaseModified: Renamed from ReleaseBlocks.
Assume that buf_pool.flush_list_mutex was acquired by the caller.

ReleaseSimple: A combination of ReleaseLatches and ReleaseModified,
for the case that for any modified pages, some earlier modifications
are already waiting to be written.

mtr_t::commit(): Invoke one of release_unlogged(), ReleaseModified,
ReleaseSimple, ReleaseAll. Acquire and release buf_pool.flush_list_mutex
at most once.

memo_slot_release(): Simplify the code.

mtr_t::sx_latch_at_savepoint(), mtr_t::x_latch_at_savepoint():
Reduce the size of the critical section.

fil_space_t::update_last_freed_lsn(), fil_space_t::clear_freed_ranges(),
fil_space_t::add_free_range(): Assume that freed_range_mutex is held
by the caller.

buf_pool_t::prepare_insert_into_flush_list(): Determine the insert
position for buf_pool_t::insert_into_flush_list(). Remove any clean
blocks from buf_pool.flush_list that were encountered while searching.

buf_pool_t::insert_into_flush_list(): Insert the block at the
predetermined position.

fe75e5e... by Marko Mäkelä

Merge 10.6 into 10.7

e11b82f... by Marko Mäkelä

Merge 10.5 into 10.6

a9d0bb1... by Marko Mäkelä

Merge 10.4 into 10.5

c89e3b7... by Marko Mäkelä

Merge 10.3 into 10.4