Commit graph

173228 commits

Author SHA1 Message Date
Jan Lindström
eba0120d8f Fix test failures on embedded server.
Problem was incorrect definition of wsrep_recovery,
trx_sys_update_wsrep_checkpoint and
trx_sys_read_wsrep_checkpoint functions causing
innodb_plugin not to load as there was undefined symbols.
2017-08-31 14:04:02 +03:00
Jan Lindström
f1af211499 Add galera_admin to disabled. 2017-08-21 07:11:04 +03:00
Jan Lindström
d20923debb Add more disabled test. 2017-08-20 07:49:07 +03:00
Jan Lindström
449a996c6a Add more disabled tests and one ignored warning. 2017-08-19 07:52:31 +03:00
Jan Lindström
f7e1b99895 Galera test fixes and add remaining test failures as disabled. 2017-08-18 11:31:03 +03:00
Jan Lindström
0a479f7860 More test failure fixes. 2017-08-16 13:10:01 +03:00
Jan Lindström
7ce37d9757 Move galera_ist_progress and galera_ist_restart_joiner tests under big_test.
This is because they could cause out of storage if run on /dev/shm.
2017-08-16 10:14:19 +03:00
Jan Lindström
81fd8ff676 Fix test failures. 2017-08-16 07:49:19 +03:00
Jan Lindström
5017c261d4 Fix test failure on test MW-86 and remove MW-360 test.
Merged from mysql-wsrep-bugs following:

GCF-1058 MTR test galera.MW-86 fails on repeated runs
Wait for the sync point sync.wsrep_apply_cb to be reached before
executing the test and clearing the debug flag sync.wsrep_apply_cb.

The race scenario:

Intended behavior:
node2: set sync.wsrep_apply_cb in order to start waiting in the background INSERT
node1: INSERT start
node2 (background): INSERT start
node1: INSERT end
node2: send signal to background INSERT: "stop waiting and continue executing"
node2: clear sync.wsrep_apply_cb as no longer needed
node2 (background): consume the signal
node2 (background): INSERT end
node2: DROP TABLE
node2: check no pending signals are left - ok

What happens occasionally (unexpected):
node2: set sync.wsrep_apply_cb in order to start waiting in the background INSERT
node1: INSERT start
node2 (background): INSERT start
node1: INSERT end
// The background INSERT still has _not_ reached the place where it starts
// waiting for the signal:
// DBUG_EXECUTE_IF("sync.wsrep_apply_cb", "now wait_for...");
node2: send signal to background INSERT: "stop waiting and continue executing"
node2: clear sync.wsrep_apply_cb as no longer needed
// The background INSERT reaches DBUG_EXECUTE_IF("sync.wsrep_apply_cb", ...)
// but sync.wsrep_apply_cb has already been cleared and the "wait" code is not
// executed. The signal remains unconsumed.
node2 (background): INSERT end
node2: DROP TABLE
node2: check no pending signals are left - failure, signal.wsrep_apply_cb is
pending (not consumed)

Remove MW-360 test case as it is not intended for MariaDB (uses
MySQL GTID).
2017-08-15 13:57:15 +03:00
Teemu Ollakka
b5323054af MW-383 Bumped wsrep patch version 2017-08-14 14:41:50 +03:00
Teemu Ollakka
dd72d66c45 MW-373 Wait for wsrep_ready at startup when provider is loaded
Conflicts:
	mysql-test/include/kill_and_restart_mysqld.inc
2017-08-14 14:41:12 +03:00
sjaakola
224ae5770f Refs: MW-363 * enabling binlog file copying even for binlog files with basename "0" * mtr suite uses binlog files with names: 0.000001, 0.000002.. and so on 2017-08-14 14:41:05 +03:00
sjaakola
7ee47ef456 MW-378 enabling build with WITH_WSREP=OFF only one fix here, enables build of mysqld however, building embedded server fails in linking phase 2017-08-14 14:40:25 +03:00
sjaakola
318af3f3b8 MW-369 FK fixes
Skipping wsrep extra FK checking for applier and replayer threads
2017-08-14 14:35:44 +03:00
sjaakola
f3c5928cff MW-369 FK fixes
Skipping wsrep extra FK checking for applier and replayer threads
2017-08-14 13:48:25 +03:00
Teemu Ollakka
d43a12bf2f MW-369 Removing obsoleted tests 2017-08-14 13:48:14 +03:00
sjaakola
7a1a5e473e Refs: MW-369 * fixed sync point usage in MW-369.inc, which made it impossible to run this test with --repeat option * moved all MW-369*.test tests into MW-369.test file, each as one separate test phase * added two more test phases, in MW-369.test file * tests MW-369A, MW-369B and MW-369C are obsolete after this commit 2017-08-14 13:45:45 +03:00
Teemu Ollakka
0d5c605b60 MW-369 Fixed test MW-369D, recorded MW-369C, MW-369D 2017-08-14 13:41:29 +03:00
sjaakola
396770fb67 Refs: MW-369 * changed parent row key type to S(hared), when FK child table is being updated or deleted 2017-08-14 13:40:37 +03:00
Teemu Ollakka
7c07f456a1 MW-369 MTR tests for foreign key conflicts
Tests MW-369C, MW-369D haven't been recorded yet since the
outcome from the tests is not what is desired.
2017-08-14 13:15:58 +03:00
sjaakola
41fac0a54c Refs: MW-369 * changed insert for a FK child table to take exclusive lock on FK parent table 2017-08-14 13:15:46 +03:00
sjaakola
cc3bee92b6 Refs: MW-369 * changed insert for a FK child table to take exclusive lock on FK parent table 2017-08-14 13:09:16 +03:00
sjaakola
20c21152db Refs: MW-369 * added MTR test, which causes a crash in slave applying, due to FK constraint violation * mtr test is not deterministic, but can surface the crash, at least in my laptop 2017-08-14 13:09:03 +03:00
Philip Stoev
7f66fcc3fc Galera MTR Tests: Fortify galera_ist_restart_joiner.test - remove DDLs, fix sync point handling 2017-08-14 13:00:57 +03:00
Philip Stoev
ea197c0f7d Galera MTR Tests: Stability fixes 2017-08-14 12:42:00 +03:00
Philip Stoev
a7f010a343 Galera MTR Tests: Test case for GAL-501 Improved URI parsing for IPv6 addresses 2017-08-14 12:00:28 +03:00
Daniele Sciascia
f81d9ef108 MW-86 Removed unnecessary wsrep_sync_wait before processing SQLCOM_REPLACE
Sync waiting before processing SQLCOM_REPLACE was not necessary given that
this case falls through to processing of SQLCOM_INSERT. In case of
SQLCOM_REPLACE, wsrep_sync_wait would be called twice.
2017-08-14 12:00:09 +03:00
Philip Stoev
df5b90e18b Galera MTR Tests: Extend test for MW-86 with additional SHOW commands (part #2) 2017-08-14 12:00:05 +03:00
Philip Stoev
fae7d85600 Galera MTR Tests: Extend test for MW-86 with additional SHOW commands 2017-08-14 12:00:00 +03:00
Daniele Sciascia
62cd7553d9 MW-86 Additional wsrep_sync_wait coverage
The following commands are now subject to wsrep_sync_wait
with bitmask value 8:

SHOW BINARY LOGS
SHOW BINLOG EVENTS
SHOW GRANTS
2017-08-14 11:59:52 +03:00
Philip Stoev
e2ccbe1aea Galera MTR Tests: Tests for MW-360 DROP TABLE containing temporary tables results in binlog divergence 2017-08-14 11:44:27 +03:00
sjaakola
795713405b Refs: MW-360 * fix for regression with galera_toi_ddl_nonconflicting test 2017-08-14 11:44:22 +03:00
Daniele Sciascia
3d4708554c MW-86 MTR test: check that SHOW commands no longer obey wsrep_sync_wait = 1 2017-08-14 11:42:38 +03:00
Daniele Sciascia
f20b21a29a MW-86 Adjust MTR tests for changes to wsrep_sync_wait 2017-08-14 11:42:13 +03:00
Daniele Sciascia
7a219b6f23 MW-86 Add separate wsrep_sync_wait bitmask value for SHOW commands
Previously, setting `wsrep_sync_wait = 1` would have an effect on
both SELECT and SHOW statements.
This patch changes wsrep_sync_wait so that bitmask value 1 is used
for SELECT statements, while bitmask value 8 is reserved for SHOW
statements.
It is still possible to achieve sync wait on both SELECT and SHOW
statements by setting `wsrep_sync_wait = 9`.
2017-08-14 08:50:02 +03:00
Philip Stoev
afbaa5c697 Galera MTR Tests: Tests for MW-366 - improved support for IPv6 2017-08-14 07:46:18 +03:00
Alexey Yurchenko
83664e21e4 MW-366 Improved support for IPv6 networks - made mysqld and SST scripts to recognize []-escaped IPv6 addresses - pulled in latest Percona and MariaDB updates to SST scripts - instruct netcat and socat in wsrep_sst_xtrabackup-v2 to listen on IPv6 socket via sockopt parameter in the [sst] section of my.cnf
In summary, wsrep_node_address and wsrep_sst_receive_address can now
be set to IPv6 addresses escaped by []. Rsync SST works out ouf the
box thanks to rsync daemon listening on both IPv4 and IPv6 sockets by
default. For xtrabackup SST onver IPv6 one needs to set sockopt in
the [sst] section of joiner's configuration file to ",pf=ip6" if
using socat as a streamer or to "-6" if using netcat.
2017-08-11 15:00:18 +03:00
Philip Stoev
5108deded5 Galera MTR Tests: Stability fixes 2017-08-11 14:17:33 +03:00
Daniele Sciascia
6da41e17d8 MW-365 Do not load/dump innodb buffer pool with wsrep_recover 2017-08-11 14:16:51 +03:00
Daniele Sciascia
3ef3c467ad MW-365 Do not load/dump innodb buffer pool with wsrep_recover 2017-08-11 14:15:27 +03:00
Philip Stoev
9064263703 Galera MTR Tests: Test for GAL-491: Progress output for IST 2017-08-11 14:15:23 +03:00
sjaakola
5fb1260365 Refs: MW-360, white space fix 2017-08-11 14:12:10 +03:00
sjaakola
ba3d26d3ab Refs: MW-360 * fixes required in pull request review 2017-08-11 14:11:45 +03:00
sjaakola
0ddf32c840 refs: MW-322 * generating fake trx id for CTAS, requires trx_sys mutex protection to be safe for concurrent CTAS processors 2017-08-11 14:10:30 +03:00
sjaakola
790a8274cd Refs: MW-360 * reverted WSREP_TO_ISOLATION macros back to original form 2017-08-11 14:06:16 +03:00
sjaakola
04c6b03c9b Refs: MW-360 * merged relevant parts of DROP TABLE query splitting from mysql-wsrep-features 2017-08-11 13:49:01 +03:00
sjaakola
a754387a09 Refs: MW-360, fix for compiler warning 2017-08-11 13:24:18 +03:00
sjaakola
7ef2d5aa5b Refs: MW-360 * splitting DROP TABLE query in separate DROP commands for temporary and real tables * not replicating temporary table DROP command * using wsrep_sidno GTID group only for innodb table drop command part all this follows more or less the logic of how mysql wants to split drop table list 2017-08-11 13:23:51 +03:00
Daniele Sciascia
364b15c090 MW-336 Avoid slave threads leaking
This patch fixes two problems that may arise when changing the
value of wsrep_slave_threads:

1) Threads may be leaked if wsrep_slave_threads is changed
   repeatedly. Specifically, when changing the number of slave
   threads, we keep track of wsrep_slave_count_change, the
   number of slaves to start / stop. The problem arises when
   wsrep_slave_count_change is updated before slaves had a
   chance to exit (threads may take some time to exit, as they
   exit only after commiting one more replication event).
   The fix is to update wsrep_slave_count_change such that it
   reflects the number of threads that already exited or are
   scheduled to exit.

2) Attempting to set out of range value for wsrep_slave_threads
   (below 1 / above 512) results in wsrep_slave_count_change to
   be computed based on the out of range value, even though a
   warning is generated and wsrep_slave_threads is set to a
   truncated value. wsrep_slave_count_change is computed in
   wsrep_slave_threads_check(), which is called before mysql
   checks for valid range. Fix is to update wsrep_count_change
   whenever wsrep_slave_threads is updated with a valid value.
2017-08-11 12:31:26 +03:00
Philip Stoev
7af44d7aa0 Galera MTR Tests: MW-359 Include include/have_innodb.inc part of include/galera_cluster.inc 2017-08-11 12:27:55 +03:00