1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-11 05:52:26 +03:00
Commit Graph

41 Commits

Author SHA1 Message Date
Julius Goryavsky
c61345169a galera tests: synchronization after merge 2025-03-28 02:53:59 +01:00
Julius Goryavsky
04d731b6cc galera mtr tests: synchronization between versions
Added fixes to galera tests for issues found during
merging changes from 10.5 to 10.6.
2025-02-26 18:19:28 +01:00
Jan Lindström
b167730499 MDEV-34891 : SST failure occurs when gtid_strict_mode is enabled
Problem was that initial GTID was set on wsrep_before_prepare
out-of-order. In practice GTID was set to same as previous
executed transaction GTID. In recovery valid GTID was found
from prepared transaction and this transaction is committed
leading to fact that same GTID was executed twice.

This is fixed by setting invalid GTID at wsrep_before_prepare
and later in wsrep_before_commit actual correct GTID is set
and this setting is done while we are in commit monitor i.e.
assigment is done in order of replication.

In recovery if prepared transaction is found we check its
GTID, if it is invalid transaction will be rolled back
and if it is valid it will be committed.

Initialize gtid seqno from recovered seqno when
bootstrapping a new cluster.

Added two test cases for both mariabackup and rsync SST methods
to show that GTIDs remain consistent on cluster and that
all expected rows are in the table.

Added tests for wsrep GTID recovery with binlog on and off.

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
2025-02-18 19:30:04 +01:00
Julius Goryavsky
573b584eba galera mtr tests: unification of wsrep provider settings 2025-02-12 13:37:03 +01:00
Julius Goryavsky
7b040e53cc galera mtr tests: fixes for test failures, 'cosmetic' changes and unification between versions 2025-02-12 12:25:09 +01:00
Julius Goryavsky
c35b6f133a galera mtr tests: synchronization between editions/branches (10.5) 2025-02-12 12:25:09 +01:00
Julius Goryavsky
c9a6adba1e galera mtr tests: synchronization of tests between branches 2025-02-12 11:30:14 +01:00
Julius Goryavsky
d0a2d4e755 galera mtr tests: correction of inaccuracies in warnings suppressions 2024-07-08 23:36:21 +02:00
Julius Goryavsky
52c45332a8 MDEV-34071: Failure during the galera_3nodes_sr.GCF-336 test
This commit fixes sporadic failures in galera_3nodes_sr.GCF-336
test. The following changes have been made here:

1) A small addition to the test itself which should make
   it more deterministic by waiting for non-primary state
   before COMMIT;
2) More careful handling of the wsrep_ready variable in
   the server code (it should always be protected with mutex).

No additional tests are required.
2024-05-06 03:16:59 +02:00
Vladislav Vaintroub
061adae9a2 MDEV-16944 Fix file sharing issues on Windows in mysqltest
On Windows systems, occurrences of ERROR_SHARING_VIOLATION due to
conflicting share modes between processes accessing the same file can
result in CreateFile failures.

mysys' my_open() already incorporates a workaround by implementing
wait/retry logic on Windows.

But this does not help if files are opened using shell redirection like
mysqltest traditionally did it, i.e via

--echo exec "some text" > output_file

In such cases, it is cmd.exe, that opens the output_file, and it
won't do any sharing-violation retries.

This commit addresses the issue by introducing a new built-in command,
'write_line', in mysqltest. This new command serves as a brief alternative
to 'write_file', with a single line output, that also resolves variables
like "exec" would.

Internally, this command will use my_open(), and therefore retry-on-error
logic.

Hopefully this will eliminate the very sporadic "can't open file because
it is used by another process" error on CI.
2024-04-17 16:52:37 +02:00
Marko Mäkelä
8ec12e0d6d Merge 10.4 into 10.5 2024-02-12 11:38:13 +02:00
Jan Lindström
f8fa3c55c6 MDEV-33173 : Galera test case galera_sr_kill_slave_before_apply unstable
Add wait_condition to make sure tables are created before next
operations.

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
2024-01-30 00:28:33 +01:00
Marko Mäkelä
3a3a4f044f Merge 10.4 into 10.5 2024-01-03 12:07:51 +02:00
Daniele Sciascia
c554f26832 Disable ps-protocol second execution on test that do not support it
MDEV-31003 has introduced second execution for SELECTs that execute
under ps-protocol. The following tests in galera suites do not support
this mode of execution, disable it:

  galera.MDEV-27862
  galera.galera_log_output_csv
  galera.galera_query_cache
  galera.galera_query_cache_sync_wait
  galera_3nodes_sr.GCF-336
  galera_3nodes_sr.galera_sr_isolate_master
  galera_sr.galera_sr_large_fragment
  galera_sr.galera_sr_many_fragments

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
2023-12-22 14:29:44 +01:00
Jan Lindström
dfd2eb529a MDEV-29892 : Galera test failure on galera_sr_kill_slave_after_apply_rollback2
Could not reproduce and bug report is incomplete i.e. there
is no error logs to analyze and 10.4 branch commit where
failure was seen is not mentioned. Enable test to get more information.

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
2023-12-21 10:46:17 +01:00
Julius Goryavsky
9da247b2e7 galera: cleanup of the lists of disabled tests 2023-11-11 15:37:29 +01:00
Julius Goryavsky
edabb8191b galera: disabled tests cleanup 2023-10-31 13:34:17 +01:00
Oleksandr Byelkin
ac5a534a4c Merge remote-tracking branch '10.4' into 10.5 2023-03-31 21:32:41 +02:00
Yuchen Pei
7c91082e39 MDEV-27912 Fixing inconsistency w.r.t. expect files in tests.
mtr uses group suffix, but some existing inc and test files use
server_id for expect files. This patch aims to fix that.

For spider:

With this change we will not have to maintain a separate version of
restart_mysqld.inc for spider, that duplicates code, just because
spider tests use different names for expect files, and shutdown_mysqld
requires magical names for them.

With this change spider tests will also be able to use other features
provided by restart_mysqld.inc without code duplication, like the
parameter $restart_parameters (see e.g. the testcase mdev_29904.test
in commit ef1161e5d4f).

Tests run after this change: default, spider, rocksdb, galera, using
the following command

mtr --parallel=auto --force --max-test-fail=0 --skip-core-file
mtr --suite spider,spider/*,spider/*/* \
    --skip-test="spider/oracle.*|.*/t\..*" --parallel=auto --big-test \
    --force --max-test-fail=0 --skip-core-file
mtr --suite galera --parallel=auto
mtr --suite rocksdb --parallel=auto
2023-03-22 11:55:57 +11:00
Jan Lindström
107d54600e Stabilize tests
galera_gcache_recover and galera_gcache_recover_manytrx
  grepping on error log is not always successful as messages
  might be in different order or contain different values

galera_vote_sr
  We need to make sure required table creation has replicated
  as we use WSREP_ON=off
2023-01-17 14:08:41 +02:00
Daniel Black
72f1384c3a Merge branch 10.4 into 10.5 2022-12-13 09:57:19 +11:00
Jan Lindström
0174a9ff3d MDEV-30172: Galera test case cleanup
* Delete tests that are not supported and not going to be supported
  any time soon
* Fix result set on tests that are not run on bb
* Fix tests that fail because of auto increment offset
* Make sure that disabled tests have open bug report
2022-12-07 07:33:51 +02:00
Jan Lindström
4eb8e51c26 Merge 10.4 into 10.5 2022-11-30 13:10:52 +02:00
Daniele Sciascia
c2fc5266ad MDEV-29880 Galera test failure on GCF-336
Fix `wsrep_table_accessible_when_detached()` so that commands that
access no tables are rejected while a node is disconnected from a
cluster.

Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
2022-11-29 07:02:35 +02:00
Jan Lindström
d2b4d3ada0 MDEV-26707: SR transaction rolls back locally, but not in cluster
Record correct result file.
2021-10-13 18:11:07 +03:00
Jan Lindström
ddf95e834d MDEV-26707: SR transaction rolls back locally, but not in cluster
Add wait_condition
2021-10-13 14:44:47 +03:00
Marko Mäkelä
99bb3fb656 Merge 10.4 into 10.5 2021-10-13 12:33:56 +03:00
Daniele Sciascia
b44e12fef1 MDEV-26707 SR transaction rolls back locally, but not in cluster
Update wsrep-lib, and add MTR test case for MDEV-26707

Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
2021-10-12 07:25:13 +03:00
Daniele Sciascia
53c8d559a5 Make test galera_sr_kill_slave_before_apply deterministic
* Handle the (rare) case where the ongoing transaction is aborted, if
  the ongoing transaction is considered orphaned. This happens if the
  node delivers two consecutive primary views with the
* Add ignorable warning to suite.pm

Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
2021-10-11 11:07:34 +03:00
Marko Mäkelä
c6846757ac Merge 10.4 into 10.5 2021-05-03 14:34:48 +03:00
Daniele Sciascia
b1b2689f17 MDEV-25553 : Avoid unnecessary rollbacks with SR
This patch changes statement rollback for streaming replication.
Previously, a statement rollback was turned into full transaction
rollback in the case where the transaction had already replicated a
fragment. This was introduced in the initial implementation of
streaming replication due to the fact that we do not have a mechanism
to perform a statement rollback on the applying side.
This policy is however overly pessimistic, causing full rollbacks even
in cases where a local statement rollback, would not require a
statement rollback on the applying side. This happens to be case when
the statement itself has not replicated any fragments.
So the patch changes the condition that determines if a statement
rollback should be turned into a full rollback accordingly.

Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
2021-04-28 12:15:30 +03:00
mkaruza
af09ce55eb Fix for galera_3nodes_sr/suite.pm (#1526) 2020-05-05 13:59:15 +03:00
mkaruza
f5cff8980a MDEV-22453: Missing suite.pm for galera_3nodes_sr (#1522) 2020-05-04 18:21:46 +03:00
Daniele Sciascia
fcc0b89d52 Fix MTR test galera_3nodes_sr.galera_vote_sr (#1439)
A large INSERT would occasionally fail with a deadlock error. This
is due to a limitation in galera library: large writesets that are
internally fragmented (> 32KB), may fail to replicate during a
configuration change. Even if the configuration change is from primary
to primary.
Changed the test to reduce writeset sizes from ~65K to ~16K.
2020-03-20 07:26:46 +02:00
Daniele Sciascia
9d4da68502 Fix MTR suppressions in inconsistency voting tests (#1412)
Message "WSREP: Failed to apply write set" has been turned into an
error, but tests were not adjusted accordingly.
2019-11-22 08:44:05 +02: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
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
e10f9e6c81 Adjust wsrep, galera, galera_3nodes, galera_sr and galera_3nodes_sr tests
after commit b5615eff0d
2019-04-02 15:45:31 +03: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
Jan Lindström
501f5c98b2 Move Galera disabled.def files from test directory to correct suite directory. 2019-01-24 09:14:30 +02:00
Brave Galera Crew
36a2a185fe Galera4 2019-01-23 15:30:00 +04:00