summaryrefslogtreecommitdiff
path: root/storage/innobase/log/log0log.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-08-07 13:54:37 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-08-07 13:54:37 +0300
commitdcdc1c6d09b4a49b13fa8b1448064110bc296f86 (patch)
tree19d2b0443ce0e78dc4691b36f5c44d7a2009c02b /storage/innobase/log/log0log.cc
parenta33220fbefed74d9a63514e29914abc9896c6331 (diff)
downloadmariadb-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.cc3
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);