diff options
author | Michael Widenius <monty@mariadb.org> | 2014-08-19 21:35:14 +0300 |
---|---|---|
committer | Michael Widenius <monty@mariadb.org> | 2014-08-19 21:35:14 +0300 |
commit | bd2117d154b9cc367b708932de5d6064a339462d (patch) | |
tree | 6c0fac6d84a3f88acb40ca9e410bd7724440af86 /storage/xtradb/srv/srv0srv.cc | |
parent | cfa1ce81bb7992c362958bb95f41325ce2109834 (diff) | |
parent | 5569132ffebba3fd2e37964543f658ed24d8caaf (diff) | |
download | mariadb-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.cc | 13 |
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 |