diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-08-07 13:54:37 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-08-07 13:54:37 +0300 |
commit | dcdc1c6d09b4a49b13fa8b1448064110bc296f86 (patch) | |
tree | 19d2b0443ce0e78dc4691b36f5c44d7a2009c02b /storage/innobase/log/log0log.cc | |
parent | a33220fbefed74d9a63514e29914abc9896c6331 (diff) | |
download | mariadb-git-dcdc1c6d09b4a49b13fa8b1448064110bc296f86.tar.gz |
MDEV-13452 Assertion `!recv_no_log_write' failed in log_reserve_and_open()
The debug flag recv_no_log_write prohibits writes of redo log records for
modifying page data. The debug assertion was failing when fil_names_clear()
was writing the informative MLOG_FILE_NAME and MLOG_CHECKPOINT records
which do not modify any data.
log_reserve_and_open(), log_write_low(): Remove the debug assertion.
log_pad_current_log_block(), mtr_write_log(),
mtr_t::Command::prepare_write(): Add the debug assertion.
Diffstat (limited to 'storage/innobase/log/log0log.cc')
-rw-r--r-- | storage/innobase/log/log0log.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/storage/innobase/log/log0log.cc b/storage/innobase/log/log0log.cc index 9a61e2067a4..d892f22f967 100644 --- a/storage/innobase/log/log0log.cc +++ b/storage/innobase/log/log0log.cc @@ -359,7 +359,6 @@ log_reserve_and_open( loop: ut_ad(log_mutex_own()); - ut_ad(!recv_no_log_write); if (log_sys->is_extending) { log_mutex_exit(); @@ -416,7 +415,6 @@ log_write_low( ut_ad(log_mutex_own()); part_loop: - ut_ad(!recv_no_log_write); /* Calculate a part length */ data_len = (log->buf_free % OS_FILE_LOG_BLOCK_SIZE) + str_len; @@ -2291,6 +2289,7 @@ log_pad_current_log_block(void) ulint i; lsn_t lsn; + ut_ad(!recv_no_log_write); /* We retrieve lsn only because otherwise gcc crashed on HP-UX */ lsn = log_reserve_and_open(OS_FILE_LOG_BLOCK_SIZE); |