summaryrefslogtreecommitdiff
path: root/mysql-test/suite/wsrep/r
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-30318: galera error messages in mariadb log without galera enabledJulius Goryavsky2023-02-151-2/+14
| | | | | | | Post-fix to MDEV-30318 and MDEV-22570-related changes: unified handling of wsrep_provider by code so that "none" is interpreted as case-insensitive everywhere and that work with an empty string is supported everywhere.
* Merge 11.0-selectivity into 11.0Sergei Petrunia2023-02-151-2/+2
|\
| * Removed diff dates from rdiff filesMonty2023-02-031-2/+2
| |
* | MDEV-30318 : galera error messages in mariadb log without galera enabledJan Lindström2023-02-144-101/+94
| | | | | | | | | | | | | | | | | | Do not compile wsrep_provider plugin if WITH_WSREP is not enabled. We should not enable wsrep_provider plugin if WSREP_ON=OFF and at that case we can only print information that Plugin 'wsrep-provider' is disabled. Make sure tests require Galera library 26.4.14 if needed.
* | MDEV-30133 MariaDB startup does not validate plugin-wsrep-provider when ↵Jan Lindström2023-02-142-44/+89
| | | | | | | | | | | | | | wsrep_mode=off or wsrep_provider is not set Refuse to start if WSREP_ON=OFF or wsrep_provider is not set or it is set to 'none' if plugin-wsrep-provider is used.
* | MDEV-22570 Implement wsrep_provider_options as pluginDaniele Sciascia2023-02-143-0/+1315
|/ | | | | | | | | | | | | | | | | | | | | - Provider options are read from the provider during startup, before plugins are initialized. - New wsrep_provider plugin for which sysvars are generated dynamically from options read from the provider. - The plugin is enabled by option plugin-wsrep-provider=ON. If enabled, wsrep_provider_options can no longer be used, (an error is raised on attempts to do so). - Each option is either string, integer, double or bool - Options can be dynamic / readonly - Options can be deprecated Limitations: - We do not check that the value of a provider option falls within a certain range. This type of validation is still done in Galera side. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
* MDEV-27246 Implement a method to add IPs to allowlist for Galera Cluster ↵mkaruza2022-08-022-0/+2
| | | | | | node addresses that can make SST/IST requests Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
* Merge branch '10.8' into 10.9mariadb-10.9.1Sergei Golubchik2022-05-192-278/+0
|\
| * Merge branch '10.6' into 10.7Sergei Golubchik2022-05-112-278/+0
| |\
| | * Merge branch '10.5' into 10.6Sergei Golubchik2022-05-102-278/+0
| | |\
| | | * Merge branch '10.4' into 10.5Sergei Golubchik2022-05-092-278/+0
| | | |\
| | | | * Merge branch '10.3' into 10.4Sergei Golubchik2022-05-082-278/+0
| | | | |\
| | | | | * MDEV-28263 mariadb-tzinfo-to-sql binlog fixesDaniel Black2022-04-232-228/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The --skip-write-binlog message was confusing that it only had an effect if the galera was enabled. There are uses beyond galera so we apply SET SESSION SQL_LOG_BIN=0 as implied by the option without being conditional on the wsrep status. Remove wsrep.mysql_tzinfo_to_sql_symlink{,_skip} tests as they offered no additional coverage beyond main.mysql_tzinfo_to_sql_symlink as no server testing was done. Introduced a variant of the galera.mariadb_tzinfo_to_sql as galera.mysql_tzinfo_to_sql, which does testing using the mysql client rather than directly importing into the server via mysqltest. Update man page and mysql_tzinfo_to_sql to having a --skip-write-binlog option. merge notes: 10.4: - conflicts in tztime.cc can revert to this version of --help text. - tztime.cc - merge execute immediate @prep1, and leave %s%s trunc_tables, lock_tables after that. 10.6: - Need to remove the not_embedded.inc in mysql_tzinfo_to_sql.test and replace it with no_protocol.inc - leave both mysql_tzinfo_to_sql.test and mariadb_tzinfo_to_sql.sql tests. - sql/tztime.cc - keep entirely 10.6 version.
* | | | | | MDEV-26971: JSON file interface to wsrep node state.Alexey Yurchenko2022-03-182-0/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integration with status reporter in wsrep-lib. Status reporter reports changes in wsrep state and logged errors/ warnings to a json file which then can be read and interpreted by an external monitoring tool. Rationale: until the server is fully initialized it is unaccessible by client and the only source of information is an error log which is not machine-friendly. Since wsrep node can spend a very long time in initialization phase (state transfer), it may be a very long time that automatic tools can't easily monitor its liveness and progression. New variable: wsrep_status_file specifies the output file name. If not set, no file is created and no reporting is done. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
* | | | | Merge branch '10.6' into 10.7Oleksandr Byelkin2022-02-042-14/+64
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2022-02-032-14/+64
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.4' into 10.5Oleksandr Byelkin2022-02-012-14/+64
| | |\ \ \ | | | |/ /
| | | * | MDEV-23326: mtr fix - slow on timezone intialisationbb-10.4-danielblack-fix-mysql_tz_to_sql_wsrepDaniel Black2022-01-141-2/+28
| | | | | | | | | | | | | | | | | | | | Fix wsrep.mysql_tzinfo_to_sql_symlink_skip test result.
| | | * | MDEV-23326: Aria significantly slow on timezone intialisationDaniel Black2022-01-121-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The --skip-write-binary-log added to mysql_tzinfo_to_sql in MDEV-18778 was only effective if galera was enabled on the server. This is because it tied together three concepts under one option: 1. binary logging 2. wsrep replication, and 3. using innodb as a transitional table type. Change 1: small change in help option to reflect this. To solve the performance problem with Aria tables, LOCK TABLES WRITE is used to eliminate the need to fdatasync until the UNLOCK TABLES. If galera isn't enabled, then we also want to use the LOCK TABLE WRITE mechanism. The START TRANSACTION added in MDEV-23440 needed to be moved to before LOCK TABLES otherwise it would cancel their effect. TRUNCATE TABLE statements also need to be before the LOCK TABLES. When changing back from InnoDB to Aria, include the ORDER BY that was originally there in 6aaccbcbf790 and matching the final ALTER TABLE in the timezonedir branch. Running: mariadb-tzinfo-to-sql --skip-write-binlog /usr/share/zoneinfo now generates 16 Aria_transaction_log_syncs from 7053.
* | | | | MDEV-24947 : Remove parameter wsrep_replicate_myisamJan Lindström2021-08-072-2/+0
| | | | |
* | | | | MDEV-24843 : Remove parameter wsrep_strict_ddlJan Lindström2021-08-072-3/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes to be committed: modified: mysql-test/include/galera_variables_ok.inc modified: mysql-test/include/galera_variables_ok_debug.inc modified: mysql-test/suite/galera/r/galera_defaults.result deleted: mysql-test/suite/galera/r/galera_var_wsrep_strict_ddl.result modified: mysql-test/suite/galera/t/galera_defaults.test deleted: mysql-test/suite/galera/t/galera_var_wsrep_strict_ddl.test modified: mysql-test/suite/sys_vars/r/sysvars_wsrep.result modified: mysql-test/suite/wsrep/r/variables.result modified: mysql-test/suite/wsrep/r/variables_debug.result modified: sql/sys_vars.cc modified: sql/wsrep_mysqld.cc modified: sql/wsrep_mysqld.h modified: sql/wsrep_var.cc modified: sql/wsrep_var.h
* | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2021-08-022-0/+2
|\ \ \ \ | |/ / /
| * | | Merge branch '10.4' into 10.5Oleksandr Byelkin2021-07-312-0/+2
| |\ \ \ | | |/ /
| | * | Update result files for Galera library 26.4.9Jan Lindström2021-07-272-0/+2
| | | |
| * | | Merge remote-tracking branch 10.4 into 10.5Jan Lindström2021-05-042-274/+2
| |\ \ \ | | |/ /
| | * | MDEV-25591 : Test case cleanupsJan Lindström2021-05-042-273/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | galera_var_wsrep_on_off : Add wait conditions to make sure DDL is replicated before continuing. wsrep.[variables|variables_debug] : Remove unnecessary parts and add check to correct number of variables or skip galera_ssl_reload: Add version check and SSL checks.
* | | | fixup e3b3384282b080e2d331507513afdf2b612f630b: wsrep test resultsMarko Mäkelä2021-05-132-10/+10
| | | |
* | | | MDEV-25591 : Test case cleanupsJan Lindström2021-05-052-136/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | galera_var_wsrep_on_off : Add wait conditions to make sure DDL is replicated before continuing. wsrep.[variables|variables_debug] : Remove unnecessary parts and add check to correct number of variables or skip galera_ssl_reload: Add version check and SSL checks.
* | | | Merge 10.5 into 10.6Marko Mäkelä2021-05-041-2/+7
|\ \ \ \ | |/ / /
| * | | Updated wsrep.variables after wsrep lib updateMonty2021-05-011-2/+5
| | | |
* | | | Merge 10.5 into 10.6Marko Mäkelä2021-04-291-100/+249
|\ \ \ \ | |/ / /
| * | | Merge 10.4 into 10.5Marko Mäkelä2021-04-272-241/+375
| |\ \ \ | | |/ /
| | * | Fix MTR test wsrep.variables_debugDaniele Sciascia2021-04-262-241/+375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The test was changing variable wsrep_provider dynamically, but wsrep_provider was recently made read-only. followup for ce3a2a688db556d8
* | | | Merge 10.5 into 10.6Marko Mäkelä2021-04-211-0/+50
|\ \ \ \ | |/ / /
| * | | Merge 10.4 into 10.5Marko Mäkelä2021-04-211-0/+50
| |\ \ \ | | |/ /
| | * | More fixes to variable wsrep_onDaniele Sciascia2021-04-201-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Disallow setting wsrep_on = 1 if wsrep_provider is unset. Also, move wsrep_on_basic from sys_vars to wsrep suite: this test now requires to run with wsrep_provider set * Disallow setting @@session.wsrep_on = 1 when @@global.wsrep_on = 0 * Handle the case where a new connection turns @@global.wsrep_on from off to on. In this case we would miss a call to wsrep_open, causing unexpected states in wsrep::client_state (causing assertions). * Disable wsrep.MDEV-22443 because it is no longer possible to enable wsrep_on, if server is started with wsrep_provider='none' Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
* | | | MDEV-24966 Galera multi-master regressionsjaakola2021-04-131-278/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the merging of MDEV-24915, 10.6 branch has regressions with handling of concurrent write load against two or more cluster nodes. These regressions may surface as cluster hanging, node crashes or data inconsistency. With some test scenarios, the only visible symptom could be that the BF victim aborting happens only by innodb lock wait timeout expiration. This would result only to poor performance (by default 50 sec hang for each BF conflict), and could be somewhat difficult to diagnose. This pull request has following fixes to handle concurrent write load from multiple nodes: In lock_wait_wsrep_kill(), the victim trx was expected to be only in TRX_STATE_ACTIVE state. With the delayed BF conflict handling, it can happen that victim has advanced into pre commit state. This was fixed by choosing victim both in TRX_STATE_ACTIVE and TRX_STATE_PREPARED states. Victim transaction may be in several different states at the time of detected lock conflict, and due to delayed BF aborting practice in MDEV-24915, the victim may advance further before the actual BF aborting takes place. The BF aborting in MDEV-24915 did not wake the victim, if it was in the state of waiting for some other lock (than the one that was blocking the high priority thread). This anomaly caused the innodb lock wait timeout expiration delays and poor performance symptom. To fix this, lock_wait_wsrep_kill() now looks if victim is in lock waiting state, and uses lock_cancel_waiting_and_release() to cancel this lock wait. wsrep_bf_abort() checks if the victim has active transaction (in wsrep-lib), and starts a new transaction if there was no active transaction before. Due to late BF aborting, the victim may have e.g. failed in certification and is already aborting or has aborted at this stage. This has caused problems in testing where BF aborter tries to BF abort himself. The fix in wsrep_bf_abort() now skips the BF abort, if victim is aborting or has aborted. Victim may not have started transaction yet in wsrep context, but it may have acquired MDL locks (due to DDL execution), and this has caused BF conflict. Such case does not require aborting in wsrep or replication provider state. BF aborting could cause BF-BF conflict scenario, if victim was already aborted and changed to replayer having high priority as well. This BF-BF conflict scenario is now avoided in lock_wait_wsrep() where we now check if blocking lock holder is also high priority and is ordered before, caller should wait for the lock in this situation. The natural innodb deadlock resolving algorithm could pick BF thread as deadlock victim. This is fixed by giving max weigh to BF threads in Deadlock::report(). MDEV-24341 has changed excution paths in do_command() and this affects BF aborted victim execution. This PR fixes one assert in do_command(): DBUG_ASSERT(!thd->async_state.pending_ops()) Which fired if the thd was BF aborted earlier. This assert is now changed to allow pending_ops() if thd was BF aborted before. With these fixes, long term highly conflicting write load could be run against to node cluster. If binlogging is configured, log_slave_updates should be also set.
* | | | MENT-411 : Implement wsrep_replicate_ariaJan Lindström2021-02-251-13/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced two new wsrep_mode options * REPLICATE_MYISAM * REPLICATE_ARIA Depracated wsrep_replicate_myisam parameter and we use wsrep_mode = REPLICATE_MYISAM instead. This required small refactoring of wsrep_check_mode_after_open_table so that both MyISAM and Aria are handled on required DML cases. Similarly, added Aria to wsrep_should_replicate_ddl to handle DDL for Aria tables using TOI. Added test cases and improved MyISAM testing. Changed use of wsrep_replicate_myisam to wsrep_mode = REPLICATE_MYISAM
* | | Merge branch '10.4' into 10.5Sergei Golubchik2021-02-231-9/+0
|\ \ \ | |/ /
| * | Merge branch '10.3' into 10.4Sergei Golubchik2021-02-231-9/+0
| |\ \ | | |/
| | * Merge branch 'bb-10.2-release' into 10.2Sergei Golubchik2021-02-221-8/+5
| | |\
| | * | MDEV-24867 : wsrep.variables MTR failed: Result length mismatchJan Lindström2021-02-171-10/+0
| | | | | | | | | | | | | | | | Stabilize test case.
* | | | Merge branch 'bb-10.4-release' into bb-10.5-releasemariadb-10.5.9Sergei Golubchik2021-02-191-8/+4
|\ \ \ \ | |/ / /
| * | | Merge branch 'bb-10.3-release' into bb-10.4-releasemariadb-10.4.18Sergei Golubchik2021-02-191-8/+4
| |\ \ \ | | | |/ | | |/|
| | * | make @@wsrep_provider and @@wsrep_notify_cmd read-onlymariadb-10.2.37Sergei Golubchik2021-02-181-8/+4
| | |/ | | | | | | | | | this should simplify run-time cluster management
* | | Merge branch 'bb-10.4-release' into bb-10.5-releaseSergei Golubchik2021-02-151-1/+1
|\ \ \ | |/ /
| * | Merge branch 'bb-10.3-release' into bb-10.4-releaseSergei Golubchik2021-02-121-1/+1
| |\ \ | | |/ | | | | | | | | | Note, the fix for "MDEV-23328 Server hang due to Galera lock conflict resolution" was null-merged. 10.4 version of the fix is coming up separately
| | * Fix wsrep.variablesJan Lindström2021-01-261-1/+1
| | |
| | * Clean up wsrep.variablesJan Lindström2020-11-031-60/+0
| | |
* | | Merge 10.4 into 10.5Marko Mäkelä2021-01-252-0/+83
|\ \ \ | |/ /