Commit 39378e13 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-24448 srv_start(): Assertion !buf_pool.any_io_pending()

We are seeing !buf_pool.any_io_pending() assertion failures
in srv_start() ever since MDEV-21452 in 10.6. But, the
problem appears to be older. In 10.5 since MDEV-19514 removed
writes from the precursor of buf_page_read_complete(), it
seems that the debug assertion failure could have been harmless.

recv_sys_t::apply(): At the end of each batch, wait not only
for all log records to have been processed, but also for all
pending reads to complete, so that the buffer pool will be in
an idle state.
parent 6529cba2
......@@ -2698,7 +2698,7 @@ void recv_sys_t::apply(bool last_batch)
buf_pool.free_block(free_block);
/* Wait until all the pages have been processed */
while (!pages.empty())
while (!pages.empty() || buf_pool.n_pend_reads)
{
const bool abort= found_corrupt_log || found_corrupt_fs;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment