From b7e9c2da8ac20af5d6fdd005c424b40240e66e82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Wed, 27 Jan 2021 16:43:29 +0200 Subject: MDEV-24709 Assertion !recv_no_ibuf_operations failed in ibuf_page_low() recv_recovery_from_checkpoint_start(): Clear the recv_no_ibuf_operations flag at the same time when we enabled writes to the log. The failure to clear the flag might have caused some missed change buffer merges, at least to the secondary index of SYS_TABLES that were accessed by trx_resurrect_table_locks() while the last recovery batch was in progress. Thanks to Thirunarayanan Balathandayuthapani for suggesting this fix. --- storage/innobase/log/log0recv.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/storage/innobase/log/log0recv.cc b/storage/innobase/log/log0recv.cc index cc252530343..9fc86cf20d0 100644 --- a/storage/innobase/log/log0recv.cc +++ b/storage/innobase/log/log0recv.cc @@ -4002,6 +4002,7 @@ skip_apply: mutex_enter(&recv_sys->mutex); recv_sys->apply_log_recs = TRUE; + recv_no_ibuf_operations = is_mariabackup_restore_or_export(); mutex_exit(&recv_sys->mutex); -- cgit v1.2.1