summaryrefslogtreecommitdiff
path: root/storage/xtradb/srv/srv0srv.cc
diff options
context:
space:
mode:
authorMichael Widenius <monty@mariadb.org>2014-08-19 21:35:14 +0300
committerMichael Widenius <monty@mariadb.org>2014-08-19 21:35:14 +0300
commitbd2117d154b9cc367b708932de5d6064a339462d (patch)
tree6c0fac6d84a3f88acb40ca9e410bd7724440af86 /storage/xtradb/srv/srv0srv.cc
parentcfa1ce81bb7992c362958bb95f41325ce2109834 (diff)
parent5569132ffebba3fd2e37964543f658ed24d8caaf (diff)
downloadmariadb-git-bd2117d154b9cc367b708932de5d6064a339462d.tar.gz
Automatic merge from 5.5
Fixed 2 failing tests by replacing result files
Diffstat (limited to 'storage/xtradb/srv/srv0srv.cc')
-rw-r--r--storage/xtradb/srv/srv0srv.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/storage/xtradb/srv/srv0srv.cc b/storage/xtradb/srv/srv0srv.cc
index 90cdfe0e0b5..03788d753d0 100644
--- a/storage/xtradb/srv/srv0srv.cc
+++ b/storage/xtradb/srv/srv0srv.cc
@@ -477,7 +477,12 @@ UNIV_INTERN ulong srv_log_checksum_algorithm =
SRV_CHECKSUM_ALGORITHM_INNODB;
/*-------------------------------------------*/
+#ifdef HAVE_MEMORY_BARRIER
+/* No idea to wait long with memory barriers */
+UNIV_INTERN ulong srv_n_spin_wait_rounds = 15;
+#else
UNIV_INTERN ulong srv_n_spin_wait_rounds = 30;
+#endif
UNIV_INTERN ulong srv_spin_wait_delay = 6;
UNIV_INTERN ibool srv_priority_boost = TRUE;
@@ -2094,9 +2099,10 @@ loop:
/* Try to track a strange bug reported by Harald Fuchs and others,
where the lsn seems to decrease at times */
- new_lsn = log_get_lsn();
+ /* We have to use nowait to ensure we don't block */
+ new_lsn= log_get_lsn_nowait();
- if (new_lsn < old_lsn) {
+ if (new_lsn && new_lsn < old_lsn) {
ut_print_timestamp(stderr);
fprintf(stderr,
" InnoDB: Error: old log sequence number " LSN_PF
@@ -2108,7 +2114,8 @@ loop:
ut_ad(0);
}
- old_lsn = new_lsn;
+ if (new_lsn)
+ old_lsn = new_lsn;
if (difftime(time(NULL), srv_last_monitor_time) > 60) {
/* We referesh InnoDB Monitor values so that averages are