MDEV-24750 Various corruptions caused by Aria subsystem...
The test case was setting aria_sort_buffer_size to MAX_ULONGLONG-1
which was not handled gracefully by my_malloc() or safemalloc().
Fixed by ensuring that the malloc functions returns 0 if the size
is too big.
I also added some protection to Aria repair:
- Limit sort_buffer_size to 16G (after that a bigger sort buffer will
not help that much anyway)
- Limit sort_buffer_size also according to sort file size. This will
help by not allocating less memory if someone sets the buffer size too
high.
MDEV-24765 fseg_free_extent fails to call buf_page_free() for the whole segment
This is caused by commit c92f7e287fc0e21dc1b181284b1f8e2139d1c331(MDEV-8139).
InnoDB fails to set the page status as FREED in buffer pool while freeing
the extent.
MDEV-24739: Assertion `root->weight >= ...' failed in SEL_ARG::tree_delete
Also update the SEL_ARG graph weight in:
- sel_add()
- SEL_ARG::clone()
Make key_{and,or}_with_limit() to also verify weight for the arguments
(There is no single point to verify SEL_ARG graphs constructed from
conditions that are not AND-OR formulas, so we hope that those are
connected with AND/OR and do it here).
MDEV-24661: Remove the test innodb.innodb_wl6326_big
The purpose of the test was to ensure that the SX (update) mode of
index tree and buffer page latches are being used.
The test has become unstable, possibly due to changes related to
buf_pool.mutex and buf_pool.page_hash, or to the use of MDL in the
purge of transaction history.
In 10.6, the test depends on instrumentation that was refactored
or removed in MDEV-24142.
The use of different latching modes can better be indirectly observed
through high-concurrency benchmarks. For MDEV-14637, a performance test
was conducted where the finer-grained latching and
BTR_CUR_FINE_HISTORY_LENGTH were removed. It caused a 20% performance
regression for UPDATE and somewhat smaller for INSERT.
Any new problem with latching granularity should be easily caught by
performance testing, or by stress tests with Random Query Generator.