diff options
Diffstat (limited to 'storage/innobase/buf/buf0flu.cc')
-rw-r--r-- | storage/innobase/buf/buf0flu.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/storage/innobase/buf/buf0flu.cc b/storage/innobase/buf/buf0flu.cc index c51db802a24..d6c1be59a86 100644 --- a/storage/innobase/buf/buf0flu.cc +++ b/storage/innobase/buf/buf0flu.cc @@ -1882,6 +1882,7 @@ ATTRIBUTE_COLD void buf_flush_wait_flushed(lsn_t sync_lsn) write out before we can advance the checkpoint. */ if (sync_lsn > log_sys.get_flushed_lsn()) log_write_up_to(sync_lsn, true); + DBUG_EXECUTE_IF("ib_log_checkpoint_avoid_hard", return;); log_checkpoint(); } } @@ -1897,6 +1898,8 @@ ATTRIBUTE_COLD void buf_flush_ahead(lsn_t lsn, bool furious) if (recv_recovery_is_on()) recv_sys.apply(true); + DBUG_EXECUTE_IF("ib_log_checkpoint_avoid_hard", return;); + Atomic_relaxed<lsn_t> &limit= furious ? buf_flush_sync_lsn : buf_flush_async_lsn; @@ -2249,6 +2252,7 @@ unemployed: buf_pool.page_cleaner_set_idle(true); DBUG_EXECUTE_IF("ib_log_checkpoint_avoid", continue;); + DBUG_EXECUTE_IF("ib_log_checkpoint_avoid_hard", continue;); mysql_mutex_unlock(&buf_pool.flush_list_mutex); @@ -2332,6 +2336,7 @@ do_checkpoint: here should not affect correctness, because log_free_check() should still be invoking checkpoints when needed. */ DBUG_EXECUTE_IF("ib_log_checkpoint_avoid", goto next;); + DBUG_EXECUTE_IF("ib_log_checkpoint_avoid_hard", goto next;); if (!recv_recovery_is_on() && srv_operation == SRV_OPERATION_NORMAL) log_checkpoint(); |