- 14 Oct, 2016 6 commits
-
-
Kristian Nielsen authored
Problem: When using the delayed slave feature, and the SQL thread is delaying, and the user issues STOP SLAVE, the event we wait for was executed. It should not be executed. Fix: Check the return value from the delay function, slave.cc:slave_sleep(). If the return value is 1, it means the thread has been stopped, in this case we don't execute the statement. Also, refactored the test case for delayed slave a little: added the test script include/rpl_assert.inc, which asserts that a condition holds and prints a message if not. Made rpl_delayed_slave.test use this. The advantage is that the test file is much easier to read and maintain, because it is clear what is an assertion and what is not, and also the expected result can be found in the test file, you don't have to compare it to the result file. Manually merged into MariaDB from MySQL commit fd2b210383358fe7697f201e19ac9779879ba72a Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
Kristian Nielsen authored
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
Kristian Nielsen authored
The original MySQL patch left some refactoring todo's, possibly because of known conflicts with other parallel development (like info-repository feature perhaps). This patch fixes those todos/refactorings. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
Kristian Nielsen authored
Two merge error fixed, and testsuite updated to removed some other test failues. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
Kristian Nielsen authored
Initial merge of delayed replication from MySQL git. The code from the initial push into MySQL is merged, and the associated test case passes. A number of tasks are still pending: 1. Check full test suite run for any regressions or .result file updates. 2. Extend the feature to also work for parallel replication. 3. There are some todo-comments about future refactoring left from MySQL, these should be located and merged on top. 4. There are some later related MySQL commits, these should be checked and merged. These include: e134b9362ba0b750d6ac1b444780019622d14aa5 b38f0f7857c073edfcc0a64675b7f7ede04be00f fd2b210383358fe7697f201e19ac9779879ba72a afc397376ec50e96b2918ee64e48baf4dda0d37d 5. The testcase from MySQL relies heavily on sleep and timing for testing, and seems likely to sporadically fail on heavily loaded test servers in buildbot or distro build farms. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
Kristian Nielsen authored
The function apply_event_and_update_pos() is called with the rli->data_lock mutex held. However, there seems to be nothing in the function actually needing the mutex to be held. Certainly not in the parallel replication case, where sql_slave_skip_counter is always 0 since the non-zero case is handled by the SQL driver thread. So this patch makes parallel replication use a variant of apply_event_and_update_pos() without the need to take the rli->data_lock mutex. This avoids one contended global mutex for each event executed, which might improve performance on CPU-bound workloads somewhat. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
- 08 Sep, 2016 1 commit
-
-
Kristian Nielsen authored
When a deadlock kill is detected inside the storage engine, the kill is not done immediately, to avoid calling back into the storage engine kill_query method with various lock subsystem mutexes held. Instead the kill is queued and done later by a slave background thread. This patch in preparation for fixing TokuDB optimistic parallel replication, as well as for removing locking hacks in InnoDB/XtraDB in 10.2. Signed-off-by: Kristian Nielsen <knielsen at knielsen-hq.org>
-
- 29 Aug, 2016 2 commits
-
-
Oleksandr Byelkin authored
Make aggregate function dependency visible.
-
Oleksandr Byelkin authored
Do not set 'optimized' flag until whole optimization procedure is finished.
-
- 27 Aug, 2016 1 commit
-
-
Elena Stepanova authored
List of unstable tests for 10.1
-
- 26 Aug, 2016 3 commits
-
-
Nirbhay Choubey authored
Activated by enabling wsrep_debug.
-
Sergei Golubchik authored
-
Nirbhay Choubey authored
-
- 25 Aug, 2016 4 commits
-
-
Nirbhay Choubey authored
-
Sergei Petrunia authored
Fix an issue in Single_line_formatting_helper: flush_on_one_line() didn't clean up the buffered items which could cause them to be printed for the second time. This can't be ever observed by a user (see MDEV text for details).
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 24 Aug, 2016 6 commits
-
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
In galera cluster, the definer (and thus binlog invoker) must be set for CREATE ROLE before Query_log_event is created during TOI on the originating node.
-
Sergei Golubchik authored
auth_pam: debug output
-
Elena Stepanova authored
- mysql-test/unstable-tests list is created, it includes = tests identified as unstable by Debian; = tests which failed in buildbot on 10.0 over the last ~6 months and were not fixed; = tests which have been recently modified or newly added - '*' wildcard is now supported in skip lists
-
- 23 Aug, 2016 4 commits
-
-
Vicențiu Ciorbaru authored
Followup from 5.5 patch. Removing memory barriers on intel is wrong as this doesn't prevent the compiler and/or processor from reorganizing reads before the mutex release. Forcing a memory barrier before reading the waiters will guarantee that no speculative reading takes place.
-
Vicențiu Ciorbaru authored
In well defined C code, the "this" pointer is never NULL. Currently, we were potentially dereferencing a NULL pointer (master_info_index). GCC v6 removes any "if (!this)" conditions as it assumes this is always a non-null pointer. In order to prevent undefined behaviour, check the pointer before dereferencing and remove the check within member functions.
-
Monty authored
-
Nirbhay Choubey authored
wsrep_gtid_domain_id was incorrectly being parsed and stored as a signed long number on the joiner node.
-
- 22 Aug, 2016 6 commits
-
-
Nirbhay Choubey authored
/var/run/mysqld must be created before wsrep recovery.
-
Nirbhay Choubey authored
Update ExecStartPre scripts to not fail if 'galera_recovery' script is not available.
-
Monty authored
- Remove impossible test in test_quick_select - Ensure that is_fatal_error is set if we run out of stack space
-
Monty authored
The issue was that when running with valgrind the wait for master_pos_Wait() was not long enough. This patch also fixes two other failures that could affect rpl_mdev6020: - check_if_conflicting_replication_locks() didn't properly check domains - 'did_mark_start_commit' was after signals to other threads was sent which could get the variable read too early.
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
- 21 Aug, 2016 7 commits
-
-
Nirbhay Choubey authored
.. file '/var/log/mysql/mariadb-bin.000001' not found in binlog index, needed for recovery. Aborting. In Galera cluster, while preparing for rsync/xtrabackup based SST, the donor node takes an FTWRL followed by (REFRESH_ENGINE_LOG in rsync based state transfer and) REFRESH_BINARY_LOG. The latter rotates the binary log and logs Binlog_checkpoint_log_event corresponding to the penultimate binary log file into the new file. The checkpoint event for the current file is later logged synchronously by binlog_background_thread. Now, since in rsync/xtrabackup based snapshot state transfer methods, only the last binary log file is transferred to the joiner node; the file could get transferred even before the checkpoint event for the same file gets written to it. As a result, the joiner node would fail to start complaining about the missing binlog file needed for recovery. In order to fix this, a mechanism has been put in place to make REFRESH_BINARY_LOG operation wait for Binlog_checkpoint_log_event to be logged for the current binary log file if the node is part of a Galera cluster. As further safety, during rsync based state transfer the donor node now acquires and owns LOCK_log for the duration of file transfer during SST.
-
sjaakola authored
- fixes in innodb to skip wsrep processing (like kill victim) when running in native mysql mode - similar fixes in mysql server side - forcing tc_log_dummy in native mysql mode when no binlog used. wsrep hton messes up handler counter and used to lead in using tc_log_mmap instead. Bad news is that tc_log_mmap does not seem to work at all
-
Damien Ciabrini authored
Fix Galera crash at startup when compiled with gcc 6
-
Philip Stoev authored
-
Philip Stoev authored
-
Philip Stoev authored
-
Philip Stoev authored
Galera MTR Tests: increase timeouts and adjust some sporadically-failing tests so that the Galera suites can be run with --parallel=4
-