summaryrefslogtreecommitdiff
path: root/storage/xtradb/log/log0log.c
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/log/log0log.c')
-rw-r--r--storage/xtradb/log/log0log.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/storage/xtradb/log/log0log.c b/storage/xtradb/log/log0log.c
index e7c7a165b9c..a5243d22e8d 100644
--- a/storage/xtradb/log/log0log.c
+++ b/storage/xtradb/log/log0log.c
@@ -265,13 +265,12 @@ log_check_tracking_margin(
}
/************************************************************//**
-Opens the log for log_write_low. The log must be closed with log_close and
-released with log_release.
+Opens the log for log_write_low. The log must be closed with log_close.
@return start lsn of the log record */
UNIV_INTERN
ib_uint64_t
-log_reserve_and_open(
-/*=================*/
+log_open(
+/*=====*/
ulint len) /*!< in: length of data to be catenated */
{
log_t* log = log_sys;
@@ -284,7 +283,6 @@ log_reserve_and_open(
ut_a(len < log->buf_size / 2);
loop:
- mutex_enter(&(log->mutex));
ut_ad(!recv_no_log_write);
/* Calculate an upper limit for the space the string may take in the
@@ -305,6 +303,8 @@ loop:
ut_ad(++count < 50);
+ mutex_enter(&(log->mutex));
+
goto loop;
}
@@ -318,6 +318,8 @@ loop:
os_thread_sleep(10000);
+ mutex_enter(&(log->mutex));
+
goto loop;
}
@@ -338,6 +340,8 @@ loop:
ut_ad(++count < 50);
+ mutex_enter(&(log->mutex));
+
goto loop;
}
}
@@ -494,9 +498,12 @@ log_close(void)
if (tracked_lsn_age >= log->log_group_capacity) {
- fprintf(stderr, " InnoDB: Error: the age of the "
+ fprintf(stderr, "InnoDB: Error: the age of the "
"oldest untracked record exceeds the log "
"group capacity!\n");
+ fprintf(stderr, "InnoDB: Error: stopping the log "
+ "tracking thread at LSN %llu\n", tracked_lsn);
+ srv_track_changed_pages = FALSE;
}
}