MDEV-31084 assert(waiting) failed in TP_connection_generic::wait_end
buf_flush_wait_flushed(): Correct the logic for registering a wait
around buf_flush_wait() that
commit a091d6ac4e7d2d7873749e685943b3032ccfda57
recently broke.
trx_purge_truncate_rseg_history(): Relax the reuse condition.
If a cached undo log segment has been fully purged so far
and not reused yet, rseg.undo_cached should point to the
header page.
io_callback(): Process the request before releasing the write slot.
Before commit a091d6ac4e7d2d7873749e685943b3032ccfda57
when we had a duplicated counter for writes, either ordering was fine.
Now, correctness depends on os_aio_wait_until_no_pending_writes().
MDEV-30186: mtr: Use of uninitialized value $test_name in substitution
There is an assumption that when there are are no completed tests,
that means they are still running and then an attempt is made to
identify these tests as stalled.
The other possibility is however there are no tests that where run.
Test this early and then exit quickly and no later misunderstandings
need to be made.
MDEV-26782 InnoDB temporary tablespace: reclaiming of free space does not work
The motivation of this change is to allow undo pages for temporary tables
to be marked free as often as possible, so that we can avoid buf_pool.LRU
eviction of undo pages that contain data that is no longer needed.
For temporary tables, no MVCC or purge of history is needed, and
reusing cached undo log pages might not help that much.
It is possible that this may cause some performance regression due to
more frequent allocation and freeing of undo log pages.
trx_write_serialisation_history(): Never cache temporary undo log pages.
trx_undo_reuse_cached(): Assert that the rollback segment is persistent.
trx_undo_assign_low(): Add template<bool is_temp>. Never invoke
trx_undo_reuse_cached() for temporary tables.