maria:bb-10.9-mdev-29644-post-merge-fix

Last commit made on 2023-04-27
Get this branch:
git clone -b bb-10.9-mdev-29644-post-merge-fix https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.9-mdev-29644-post-merge-fix
Repository:
lp:maria

Recent commits

fe47428... by Yuchen Pei

MDEV-29644 post-merge fixup

Applying b98375f9df0 instead of 9b32e4b1923 for version 10.5-10.8.
Applying 5075f4e0dae instead of 9b32e4b1923 for version 10.9+.

09fdd3a... by Marko Mäkelä

After-merge fix

This fixes up commit e3f6e1c92e1604c63e4de113f8863953c05b29a9

e3f6e1c... by Marko Mäkelä

Merge 10.8 into 10.9

c15c8ef... by Marko Mäkelä

Merge 10.6 into 10.8

5740638... by Marko Mäkelä

MDEV-31132 Deadlock between DDL and purge of InnoDB history

log_free_check(): Assert that the caller must not hold
exclusive lock_sys.latch. This was the case for calls from
ibuf_delete_for_discarded_space(). This caused a deadlock with
another thread that would be holding a latch on a dirty page
that would need to be written so that the checkpoint would advance
and log_free_check() could return. That other thread was waiting
for a shared lock_sys.latch.

fil_delete_tablespace(): Do not invoke ibuf_delete_for_discarded_space()
because in DDL operations, we will be holding exclusive lock_sys.latch.

trx_t::commit(std::vector<pfs_os_file_t>&), innodb_drop_database(),
row_purge_remove_clust_if_poss_low(), row_undo_ins_remove_clust_rec(),
row_discard_tablespace_for_mysql():
Invoke ibuf_delete_for_discarded_space() on the deleted tablespaces after
releasing all latches.

d4265fb... by Marko Mäkelä

MDEV-26055: Correct the formula for adaptive flushing

page_cleaner_flush_pages_recommendation(): If dirty_pct is
between innodb_max_dirty_pages_pct_lwm
and innodb_max_dirty_pages_pct,
scale the effort relative to how close we are to
innodb_max_dirty_pages_pct.

The previous formula was missing a multiplication by 100.

Tested by: Axel Schwenke

898320b... by Julius Goryavsky <email address hidden>

MDEV-30804 addendum for 10.6+ branches

This addition to MDEV-30804 is relevant for 10.6+, it excludes
the mixed transaction section using both innodb and aria storage
engines from the galera_var_replicate_aria_off test, since such
transactions cannot be executed unless aria supports two-phase
transaction commit. No additional tests are required as this
commit fixes the mtr test itself.

c22ab93... by Marko Mäkelä

MDEV-26827 fixup: Prevent a hang in LRU eviction

buf_pool_t::page_cleaner_wakeup(): If for_LRU=true, wake up the page
cleaner immediately, also when it is in a timed wait. This avoids an
unnecessary delay of up to 1 second.

818d5e4... by Marko Mäkelä

Merge 10.5 into 10.6

50f3b7d... by Marko Mäkelä

MDEV-31124 Innodb_data_written miscounts doublewrites

When commit a5a2ef079cec378340d8b575aef05974b0b3442e
implemented asynchronous doublewrite, the writes via
the doublewrite buffer started to be counted incorrectly,
without multiplying them by innodb_page_size.

srv_export_innodb_status(): Correctly count the
Innodb_data_written.

buf_dblwr_t: Remove submitted(), because it is close to written()
and only Innodb_data_written was interested in it. According to
its name, it should count completed and not submitted writes.

Tested by: Axel Schwenke