summaryrefslogtreecommitdiff
path: root/storage/xtradb/log/log0online.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/log/log0online.cc')
-rw-r--r--storage/xtradb/log/log0online.cc67
1 files changed, 29 insertions, 38 deletions
diff --git a/storage/xtradb/log/log0online.cc b/storage/xtradb/log/log0online.cc
index 51a9fa8f6c5..3f53791ed4c 100644
--- a/storage/xtradb/log/log0online.cc
+++ b/storage/xtradb/log/log0online.cc
@@ -290,7 +290,7 @@ log_online_read_bitmap_page(
/* The following call prints an error message */
os_file_get_last_error(TRUE);
ib_logf(IB_LOG_LEVEL_WARN,
- "failed reading changed page bitmap file \'%s\'\n",
+ "failed reading changed page bitmap file \'%s\'",
bitmap_file->name);
return FALSE;
}
@@ -350,7 +350,7 @@ log_online_read_last_tracked_lsn(void)
ib_logf(IB_LOG_LEVEL_WARN,
"corruption detected in \'%s\' at offset "
- UINT64PF "\n",
+ UINT64PF,
log_bmp_sys->out.name, read_offset);
}
};
@@ -364,7 +364,7 @@ log_online_read_last_tracked_lsn(void)
log_bmp_sys->out.offset)) {
ib_logf(IB_LOG_LEVEL_WARN,
"failed truncating changed page bitmap file \'%s\' to "
- UINT64PF " bytes\n",
+ UINT64PF " bytes",
log_bmp_sys->out.name, log_bmp_sys->out.offset);
result = 0;
}
@@ -382,16 +382,8 @@ log_set_tracked_lsn(
/*================*/
lsn_t tracked_lsn) /*!<in: new value */
{
-#ifdef HAVE_ATOMIC_BUILTINS_64
- /* Single writer, no data race here */
- lsn_t old_value = os_atomic_increment_uint64(&log_sys->tracked_lsn, 0);
- (void) os_atomic_increment_uint64(&log_sys->tracked_lsn,
- tracked_lsn - old_value);
-#else
- mutex_enter(&log_sys->mutex);
log_sys->tracked_lsn = tracked_lsn;
- mutex_exit(&log_sys->mutex);
-#endif
+ os_wmb;
}
/*********************************************************************//**
@@ -416,7 +408,7 @@ log_online_can_track_missing(
ib_logf(IB_LOG_LEVEL_ERROR,
"last tracked LSN " LSN_PF " is ahead of tracking "
"start LSN " LSN_PF ". This can be caused by "
- "mismatched bitmap files.\n",
+ "mismatched bitmap files.",
last_tracked_lsn, tracking_start_lsn);
exit(1);
}
@@ -444,7 +436,7 @@ log_online_track_missing_on_startup(
ib_logf(IB_LOG_LEVEL_WARN, "last tracked LSN in \'%s\' is " LSN_PF
", but the last checkpoint LSN is " LSN_PF ". This might be "
- "due to a server crash or a very fast shutdown. ",
+ "due to a server crash or a very fast shutdown.",
log_bmp_sys->out.name, last_tracked_lsn, tracking_start_lsn);
/* See if we can fully recover the missing interval */
@@ -452,7 +444,7 @@ log_online_track_missing_on_startup(
tracking_start_lsn)) {
ib_logf(IB_LOG_LEVEL_INFO,
- "reading the log to advance the last tracked LSN.\n");
+ "reading the log to advance the last tracked LSN.");
log_bmp_sys->start_lsn = ut_max(last_tracked_lsn,
MIN_TRACKED_LSN);
@@ -463,22 +455,22 @@ log_online_track_missing_on_startup(
ut_ad(log_bmp_sys->end_lsn >= tracking_start_lsn);
ib_logf(IB_LOG_LEVEL_INFO,
- "continuing tracking changed pages from LSN " LSN_PF
- "\n", log_bmp_sys->end_lsn);
+ "continuing tracking changed pages from LSN " LSN_PF,
+ log_bmp_sys->end_lsn);
}
else {
ib_logf(IB_LOG_LEVEL_WARN,
"the age of last tracked LSN exceeds log capacity, "
"tracking-based incremental backups will work only "
- "from the higher LSN!\n");
+ "from the higher LSN!");
log_bmp_sys->end_lsn = log_bmp_sys->start_lsn
= tracking_start_lsn;
log_set_tracked_lsn(log_bmp_sys->start_lsn);
ib_logf(IB_LOG_LEVEL_INFO,
- "starting tracking changed pages from LSN " LSN_PF
- "\n", log_bmp_sys->end_lsn);
+ "starting tracking changed pages from LSN " LSN_PF,
+ log_bmp_sys->end_lsn);
}
}
@@ -546,7 +538,7 @@ log_online_start_bitmap_file(void)
/* The following call prints an error message */
os_file_get_last_error(TRUE);
ib_logf(IB_LOG_LEVEL_ERROR,
- "cannot create \'%s\'\n", log_bmp_sys->out.name);
+ "cannot create \'%s\'", log_bmp_sys->out.name);
return FALSE;
}
@@ -682,7 +674,7 @@ log_online_read_init(void)
if (os_file_closedir(bitmap_dir)) {
os_file_get_last_error(TRUE);
- ib_logf(IB_LOG_LEVEL_ERROR, "cannot close \'%s\'\n",
+ ib_logf(IB_LOG_LEVEL_ERROR, "cannot close \'%s\'",
log_bmp_sys->bmp_file_home);
exit(1);
}
@@ -722,7 +714,7 @@ log_online_read_init(void)
ib_logf(IB_LOG_LEVEL_WARN,
"truncated block detected in \'%s\' at offset "
- UINT64PF "\n",
+ UINT64PF,
log_bmp_sys->out.name,
log_bmp_sys->out.offset);
log_bmp_sys->out.offset -=
@@ -760,14 +752,14 @@ log_online_read_init(void)
"last tracked LSN is " LSN_PF ", but the last "
"checkpoint LSN is " LSN_PF ". The "
"tracking-based incremental backups will work "
- "only from the latter LSN!\n",
+ "only from the latter LSN!",
last_tracked_lsn, tracking_start_lsn);
}
}
ib_logf(IB_LOG_LEVEL_INFO, "starting tracking changed pages from LSN "
- LSN_PF "\n", tracking_start_lsn);
+ LSN_PF, tracking_start_lsn);
log_bmp_sys->start_lsn = tracking_start_lsn;
log_set_tracked_lsn(tracking_start_lsn);
}
@@ -911,7 +903,7 @@ log_online_is_valid_log_seg(
ib_logf(IB_LOG_LEVEL_ERROR,
"log block checksum mismatch: expected " ULINTPF ", "
- "calculated checksum " ULINTPF "\n",
+ "calculated checksum " ULINTPF,
log_block_get_checksum(log_block),
log_block_calc_checksum(log_block));
}
@@ -1110,7 +1102,7 @@ log_online_write_bitmap_page(
/* The following call prints an error message */
os_file_get_last_error(TRUE);
ib_logf(IB_LOG_LEVEL_ERROR, "failed writing changed page "
- "bitmap file \'%s\'\n", log_bmp_sys->out.name);
+ "bitmap file \'%s\'", log_bmp_sys->out.name);
return FALSE;
}
@@ -1120,7 +1112,7 @@ log_online_write_bitmap_page(
/* The following call prints an error message */
os_file_get_last_error(TRUE);
ib_logf(IB_LOG_LEVEL_ERROR, "failed flushing changed page "
- "bitmap file \'%s\'\n", log_bmp_sys->out.name);
+ "bitmap file \'%s\'", log_bmp_sys->out.name);
return FALSE;
}
@@ -1267,8 +1259,7 @@ log_online_diagnose_inconsistent_dir(
ib_logf(IB_LOG_LEVEL_WARN,
"InnoDB: Warning: inconsistent bitmap file "
"directory for a "
- "INFORMATION_SCHEMA.INNODB_CHANGED_PAGES query"
- "\n");
+ "INFORMATION_SCHEMA.INNODB_CHANGED_PAGES query");
free(bitmap_files->files);
}
@@ -1310,7 +1301,7 @@ log_online_setup_bitmap_file_range(
if (UNIV_UNLIKELY(!bitmap_dir)) {
ib_logf(IB_LOG_LEVEL_ERROR,
- "failed to open bitmap directory \'%s\'\n",
+ "failed to open bitmap directory \'%s\'",
srv_data_home);
return FALSE;
}
@@ -1360,7 +1351,7 @@ log_online_setup_bitmap_file_range(
if (UNIV_UNLIKELY(os_file_closedir(bitmap_dir))) {
os_file_get_last_error(TRUE);
- ib_logf(IB_LOG_LEVEL_ERROR, "cannot close \'%s\'\n",
+ ib_logf(IB_LOG_LEVEL_ERROR, "cannot close \'%s\'",
srv_data_home);
return FALSE;
}
@@ -1381,7 +1372,7 @@ log_online_setup_bitmap_file_range(
if (UNIV_UNLIKELY(!bitmap_dir)) {
ib_logf(IB_LOG_LEVEL_ERROR,
- "failed to open bitmap directory \'%s\'\n",
+ "failed to open bitmap directory \'%s\'",
srv_data_home);
return FALSE;
}
@@ -1432,7 +1423,7 @@ log_online_setup_bitmap_file_range(
if (UNIV_UNLIKELY(os_file_closedir(bitmap_dir))) {
os_file_get_last_error(TRUE);
- ib_logf(IB_LOG_LEVEL_ERROR, "cannot close \'%s\'\n",
+ ib_logf(IB_LOG_LEVEL_ERROR, "cannot close \'%s\'",
srv_data_home);
free(bitmap_files->files);
return FALSE;
@@ -1507,7 +1498,7 @@ log_online_open_bitmap_file_read_only(
/* Here and below assume that bitmap file names do not
contain apostrophes, thus no need for ut_print_filename(). */
ib_logf(IB_LOG_LEVEL_WARN,
- "error opening the changed page bitmap \'%s\'\n",
+ "error opening the changed page bitmap \'%s\'",
bitmap_file->name);
return FALSE;
}
@@ -1553,7 +1544,7 @@ log_online_diagnose_bitmap_eof(
ib_logf(IB_LOG_LEVEL_WARN,
"junk at the end of changed page bitmap file "
- "\'%s\'.\n", bitmap_file->name);
+ "\'%s\'.", bitmap_file->name);
}
if (UNIV_UNLIKELY(!last_page_in_run)) {
@@ -1564,7 +1555,7 @@ log_online_diagnose_bitmap_eof(
for the whole server */
ib_logf(IB_LOG_LEVEL_WARN,
"changed page bitmap file \'%s\' does not "
- "contain a complete run at the end.\n",
+ "contain a complete run at the end.",
bitmap_file->name);
return FALSE;
}
@@ -1757,7 +1748,7 @@ log_online_bitmap_iterator_next(
os_file_get_last_error(TRUE);
ib_logf(IB_LOG_LEVEL_WARN,
"failed reading changed page bitmap file "
- "\'%s\'\n", i->in_files.files[i->in_i].name);
+ "\'%s\'", i->in_files.files[i->in_i].name);
i->failed = TRUE;
return FALSE;
}