1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-04 17:23:46 +03:00
Commit Graph

51 Commits

Author SHA1 Message Date
Marko Mäkelä
4a0b56f604 Merge 10.4 into 10.5 2020-05-31 10:28:59 +03:00
Daniele Sciascia
dc22acfdb6 MDEV-22616 CHECK TABLE fails with wsrep_trx_fragment_size > 0 (#1551)
Executing CHECK TABLE  with streaming replication enabled reports
error "Streaming replication not supported with
binlog_format=STATEMENT".
Administrative commands such as CHECK TABLE, are not replicated and
temporarily set binlog format to statement.
To avoid the problem, report the error only for active transactions
for which streaming replication is enabled.
2020-05-21 09:34:03 +03:00
Marko Mäkelä
b30a013142 Merge 10.4 into 10.5 2020-05-13 14:25:06 +03:00
Jan Lindström
057a700a2a MDEV-22466 : Galera missing .test or .result files
Add missing .test and .result files.
2020-05-07 14:23:33 +03:00
Marko Mäkelä
496d0372ef Merge 10.4 into 10.5 2020-04-29 15:40:51 +03:00
Sergei Golubchik
c2db9397c7 MDEV-18565 Galera mtr-suite fails if galera library is not installed
revert/simplify f5390eea9a

remove galera-specific checks from mtr and the main suite
2020-04-27 09:22:36 +02:00
Marko Mäkelä
ccc06931c3 Merge 10.4 into 10.5 2020-04-08 10:36:41 +03:00
Daniele Sciascia
bdcecfa22c MDEV-22021: Galera database could get inconsistent with rollback to savepoint
When binlog is disabled, WSREP will not behave correctly when
SAVEPOINT ROLLBACK is executed and we will not rollback transaction.
2020-03-31 14:18:21 +03:00
Marko Mäkelä
5203bc10f1 Merge 10.4 into 10.5 2020-03-21 11:37:10 +02:00
Daniele Sciascia
9394cc8914 MDEV-21675: Data inconsistency after multirow insert rollback (#1474)
* Remove dead code

* MDEV-21675 Data inconsistency after multirow insert rollback

This patch fixes data inconsistencies that happen after rollback of
multirow inserts, with binlog disabled.
For example, statements such as `INSERT INTO t1 VALUES (1,'a'),(1,'b')`
that fail with duplicate key error. In such cases the whole statement
is rolled back. However, with wsrep_emulate_binlog in effect, the
IO_CACHE would not be truncated, and the pending rows events would be
replicated to the rest of the cluster. In the above example, it would
result in row (1,'a') being replicated, whereas locally the statement
is rolled back entirely. Making the cluster inconsistent.
The patch changes the code so that prior to statement rollback,
pending rows event are removed and the stmt cache reset.
That patch also introduces MTR tests that excercise multirow insert
statements for regular, and streaming replication.
2020-03-21 09:17:28 +02:00
Jan Lindström
e253e3560d MDEV-21601 : Cleanup Galera disabled tests
* Remove those tests that will not be supported on that release.
* Make sure that correct tests are disabled and have MDEVs
* Sort test names
2020-02-21 08:29:01 +02:00
Jan Lindström
77eb22fd58 MDEV-21517 : Galera test galera_sr.GCF-561 failure: Result length mismatch
Add wait conditions.
2020-02-21 08:25:51 +02:00
Jan Lindström
4b99358953 MDEV-21601 : Cleanup Galera disabled tests
* Remove those tests that will not be supported on that release.
* Make sure that correct tests are disabled and have MDEVs
* Sort test names

This should not be merged upwards.
2020-02-21 08:25:20 +02:00
Jan Lindström
1a73b995fc MDEV-21601 : Cleanup Galera disabled tests
* Remove those tests that will not be supported on that release.
* Make sure that correct tests are disabled and have MDEVs
* Sort test names

This should not be merged upwards.
2020-02-16 13:50:18 +02:00
Jan Lindström
7002948bc5 MDEV-21517 : Galera test galera_sr.GCF-561 failure: Result length mismatch
Add wait conditions.
2020-02-16 13:48:34 +02:00
Jan Lindström
5007633c10 MDEV-21601 : Cleanup Galera disabled tests
* Remove those tests that will not be supported on that release.
* Make sure that correct tests are disabled and have MDEVs
* Sort test names

This should not be merged upwards.
2020-02-16 13:48:34 +02:00
Marko Mäkelä
ded128aa9b Merge 10.4 into 10.5 2020-01-20 16:48:56 +02:00
Jan Lindström
057fbfa356 Disable Galera tests failing on bb and Azure until they are fixed. 2020-01-18 09:38:48 +02:00
Marko Mäkelä
28c89b7151 Merge 10.4 into 10.5 2019-12-16 07:47:17 +02:00
Daniele Sciascia
72a5a4f1d5 MDEV-20780 Fixes for failures on galera_sr_ddl_master (#1425)
Test galera_sr_ddl_master would sometimes fail due to leftover
streaming replication fragments. Rollbacker thread would attempt to
open streaming_log table to remove the fragments, but would fail in
check_stack_overrun(). Ultimately the check_stack_overrun() failure
was caused by rollbacker missing to switch the victim's THD thread
stack to rollbacker's thread stack.

Also in this patch:
- Remove duplicate functionality in rollbacker helper functions,
  and extract rollbacker fragment removal into function
  wsrep_remove_streaming_fragments()
- Reuse open_for_write() in wsrep_schema::remove_fragments
- Partially revert changes to galera_sr_ddl_master test from
  commit 44a11a7c08. Removed unnecessary
  wait condition and isolation level setting
2019-12-11 14:08:06 +02:00
Daniele Sciascia
aab6cefe8d MDEV-20848 Fixes for MTR test galera_sr.GCF-1060 (#1421)
This patch contains two fixes:

* wsrep_handle_mdl_conflict(): handle the case where SR transaction
  is in aborting state. Previously, a BF-BF conflict was reported, and
  the process would abort.
* wsrep_thd_bf_abort(): do not restore thread vars after calling
  wsrep_bf_abort(). Thread vars are already restored in wsrep-lib if
  necessary. This also removes the assumption that the caller of
  wsrep_thd_bf_abort() is the given bf_thd, which is not the case.

Also in this patch:

* Remove unnecessary check for active victim transaction in
  wsrep_thd_bf_abort(): the exact same check is performed later in
  wsrep_bf_abort().
* Make wsrep_thd_bf_abort() and wsrep_log_thd() const-correct.
* Change signature of wsrep_abort_thd() to take THD pointers instead
  of void pointers.
2019-12-04 09:21:14 +02:00
Marko Mäkelä
5a00792c69 Merge 10.4 into 10.5 2019-11-29 11:25:40 +02:00
Jan Lindström
a8bf39cc3e Disable failing Galera test cases. 2019-11-29 08:23:15 +02:00
Marko Mäkelä
613e9e7d4d MDEV-20907 Set innodb_log_files_in_group=1 by default
Historically, InnoDB split the redo log into at least 2 files.
MDEV-12061 allowed the minimum to be innodb_log_files_in_group=1,
but it kept the default at innodb_log_files_in_group=2.

Because performance seems to be slightly better with only one log file,
and because implementing an append-only variant of the log would require
a single file, let us define the default to be 1, and have
innodb_log_file_size=96M, to retain the same default total size.
2019-10-28 17:11:10 +02:00
Marko Mäkelä
3043f38436 Merge 10.4 into 10.5 2019-10-28 17:10:34 +02:00
Jan Lindström
9afbb1069a Add wait_condition to stabilize. 2019-10-25 12:32:11 +03:00
Jan Lindström
1036886b70 Stabilize tests.
Changes to be committed:
	modified:   mysql-test/suite/galera_sr/disabled.def
	modified:   mysql-test/suite/galera_sr/r/GCF-561.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_kill_query.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result
	new file:   mysql-test/suite/galera_sr/suite.pm
	modified:   mysql-test/suite/galera_sr/t/GCF-561.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_kill_query.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
2019-10-23 10:12:53 +03:00
Marko Mäkelä
d04f2de80a Merge 10.4 into 10.5 2019-10-11 08:41:36 +03:00
Jan Lindström
62dce14d15 MDEV-20782 : Galera test failure on galera_sr.galera_sr_mysqldump_sst
Add auto increment offset save and restore as node(s) are restarted.
2019-10-09 11:42:50 +03:00
Jan Lindström
44a11a7c08 MDEV-20780 : Galera test failure on galera_sr.galera_sr_ddl_master
Fix wait_condition and use repeatable read with wsrep_sync at the
end.
2019-10-09 11:41:14 +03:00
Alexey Yurchenko
41fa564c88 MDEV-17048 Inconsistency voting support (#1373)
* Collect and pass apply error data to provider
 * Rollback failed transaction and continue operation if provider returns
   SUCCESS
 * MTR tests for inconsistency voting
2019-08-28 09:19:24 +03:00
Jan Lindström
5a2012d2b3 Fix test failure on galera-features#56
We need to use wsrep_sync_wait=15 before selects to make sure
that node has applied all inserts from other node.
2019-08-15 12:40:27 +03:00
Jan Lindström
ee3ef790ca MDEV-19970 Galera test failure on galera_sr.galera-features#56
Move test to big_test as it takes significant amount of time and
add wait to get slave threads start and setup to replicate.
2019-07-16 09:21:26 +03:00
Daniele Sciascia
4e0c6139b2 Minor Galera MTR test fixes (#1326) 2019-06-07 13:54:16 +03:00
Jan Lindström
fe62ff6e1c MDEV-18265: Replace deprecated variable debug to debug_dbug on Galera tests
deleted:    mysql-test/suite/galera/r/MW-86.result
	deleted:    mysql-test/suite/galera/r/mysql-wsrep#216.result
	modified:   mysql-test/suite/galera/t/GCF-1081.test
	modified:   mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-810A.test
	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-810B.test
	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-810C.test
	modified:   mysql-test/suite/galera_3nodes_sr/t/GCF-832.test
	modified:   mysql-test/suite/galera_sr/r/mysql-wsrep-features#35.result
	modified:   mysql-test/suite/galera_sr/t/mysql-wsrep-features#35.test
2019-04-06 12:26:54 +03:00
Jan Lindström
afca4a3a34 MDEV-19156: Galera test failure on galerra_sr_cc_master
Test cleanup and fix.
2019-04-03 09:24:12 +03:00
Jan Lindström
e10f9e6c81 Adjust wsrep, galera, galera_3nodes, galera_sr and galera_3nodes_sr tests
after commit b5615eff0d
2019-04-02 15:45:31 +03:00
Daniele Sciascia
f78eb52fba Make test galera_sr.GCF-1018 deterministic (#1245)
Disabled autocommit retry (set wsrep_retry_autocommit to 0) so that BF
aborted autocommit statement always results in ER_LOCK_DEADLOCK.
2019-03-27 15:33:04 +02:00
Daniele Sciascia
a23657671e MDEV-18666 Fix MTR test galera_sr_kill_all_norecovery (#1229)
* Disable `wsrep_sync_wait` before killing galera node which may be
  non-primary (kill_galera.inc causes lock wait timeouts  due to
  wsrep_sync_wait)

* Remove unnecessary `--sleep 1`

* Replace ```SELECT COUNT(*) = 0 ...``` with
  ```SELECT COUNT(*) `expect 0` ...```
2019-03-15 16:22:32 +02:00
Leandro Pacheco
038ffd2ee4 Merge pull request #1222 from codership/10.4-clear-sr-bugfix
MTR tests for clearing orphaned SR transactions in Galera
2019-03-11 16:33:58 +02:00
Teemu Ollakka
e3e06722f0 Fixes to galera_gtid_2_cluster, galear_sr_mysqldump_sst
Timeout values in galera_2x3nodes.cnf made cluster startup
unreliable. Tweaked timeout values for more reliable cluster start.

Fixed restart_parameters in galera_sr_mysqldump_sst.
2019-03-04 09:00:25 +02:00
Teemu Ollakka
fa52846bc7 MDEV-18631 Added MTR test
The test is based in the testcase attached in Jira MDEV.
2019-03-04 09:00:25 +02:00
Teemu Ollakka
1ab2e7573a Fixed and recorded galera_sr.galera_sr_rollback_statement
Disabled GCF-437 which relies on InnoDB redo log size limitation
which does not seem to exist or is increased in MariaDB 10.4.

Require debug sync for mysql-wsrep#215.
2019-02-25 08:32:16 +02:00
Teemu Ollakka
6edfeb82fd Fixes to streaming replication BF aborts
The InnoDB DeadlockChecker::check_and_resolve() was missing a
call to wsrep_handle_SR_rollback() in the case when the
transaction running deadlock detection was chosen as victim.

Refined wsrep_handle_SR_rollback() to skip store_globals() calls
if the transaction was BF aborting itself.

Made mysql-wsrep-features#165 more deterministic by waiting until
the update is in progress before sending next update.
2019-02-25 08:31:52 +02:00
Teemu Ollakka
4baab8697a MDEV-18587 Don't reject DDLs if streaming replication is on
The check for streaming replication logging format in
THD::decide_logging_format() did the check also for DDLs running
in TOI mode. This caused DROP DATABASE to fail if streaming
replication was enabled.

Added check for THD wsrep execution mode and perform the check
only if the THD is in local processing mode (i.e. not TOI).

Added galera_sr_create_drop test to verify that CREATE/DROP
statements pass even if streaming replication is on.
2019-02-19 07:58:03 +02:00
Teemu Ollakka
f0b65102b2 MDEV-18585 Avoid excessive Annotate_rows_log_events in binlog
Make sure that the Annotate_rows_log_events is written into
binlog only for the first fragment of the current statement.
Also avoid flusing pending rows event when calculating bytes
generated by the transaction.

Added and recorded a test which verifies that the binlog
contains only one Annotate_rows_log_event per statement
with various SR settings. Recrded mysql-wsrep-features#136
which produced different output with excession log events
suppressed.
2019-02-18 15:04:38 +02:00
Daniele Sciascia
9b8fc089bd MDEV-18198 Fix MTR test galera_sr.galera_sr_table_contents
* Created new binlog-header file
* Fixed warning on SELECT INTO DUMPFILE
* Re-recorded the test result
2019-02-18 08:25:57 +02:00
Jan Lindström
dcaabf07fd MDEV-18109: Galera 4: run galera_sr test suite
Fix some of the galera_sr suite test failures.
Remove tests that are not going to be run because required
feature is not supported.

	modified:   mysql-test/suite/galera_sr/disabled.def
	deleted:    mysql-test/suite/galera_sr/r/GCF-574.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_cc_slave.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_kill_all_norecovery.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_load_data.result
	deleted:    mysql-test/suite/galera_sr/r/galera_sr_sbr.result
	modified:   mysql-test/suite/galera_sr/r/mysql-wsrep-features#148.result
	deleted:    mysql-test/suite/galera_sr/r/mysql-wsrep-features#29.result
	deleted:    mysql-test/suite/galera_sr/t/GCF-574.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_cc_slave.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.cnf
	modified:   mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_load_data.test
	deleted:    mysql-test/suite/galera_sr/t/galera_sr_sbr.test
	modified:   mysql-test/suite/galera_sr/t/mysql-wsrep-features#148.test
	deleted:    mysql-test/suite/galera_sr/t/mysql-wsrep-features#29.test
2019-02-15 09:33:49 +02:00
Teemu Ollakka
f20dfeecc6 Recorded galera_sr_load_data_splitting, galera_sr_load_data 2019-02-12 10:37:05 +02:00
Jan Lindström
501f5c98b2 Move Galera disabled.def files from test directory to correct suite directory. 2019-01-24 09:14:30 +02:00