summaryrefslogtreecommitdiff
path: root/mysql-test/suite/multi_source
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-9544 Fix test case for 10.2Sachin Setiya2017-06-101-0/+12
|
* Merge 10.1 into 10.2Marko Mäkelä2017-06-083-0/+216
|\ | | | | | | Replace have_innodb_zip.inc with innodb_page_size_small.inc.
| * MDEV-9544 FLUSH [RELAY] LOGS does not rotate logs for a named slaveSachin Setiya2017-06-053-0/+216
| | | | | | | | | | | | | | | | | | | | Problem:- In the case of multisource replication/named slave when we run "FLUSH LOGS" , it does not flush logs. Solution:- A new function Master_info_index->flush_all_relay_logs() is created which will rotate relay logs for all named slave. This will be called in reload_acl_and_cache function when connection_name.length == 0
* | Merge branch '10.1' into 10.2Sergei Golubchik2016-12-2912-353/+28
|\ \ | |/
| * MDEV-9038 Binlog encryption testsElena Stepanova2016-12-0512-353/+28
| | | | | | | | | | | | | | - created binlog_encryption test suite and added it to the default list - moved some tests from rpl, binlog and multisource suites to extra so that they could be re-used in different suites - made minor changes in include files
* | MDEV-7145: Delayed replicationKristian Nielsen2016-10-164-23/+26
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge feature into 10.2 from feature branch. Delayed replication adds an option CHANGE MASTER TO master_delay=<seconds> Replication will then delay applying events with that many seconds. This creates a replication slave that reflects the state of the master some time in the past. Feature is ported from MySQL source tree. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
| * | MDEV-7145: Delayed replication, fixing test failures.Kristian Nielsen2016-10-144-23/+26
| |/ | | | | | | | | | | | | Two merge error fixed, and testsuite updated to removed some other test failues. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
* | MDEV-8429: Change binlog_checksum default to match MySQL 5.6.6+Oleksandr Byelkin2016-05-204-15/+15
| |
* | MDEV-6720 - enable connection log in mysqltest by defaultSergey Vojtovich2016-03-3111-0/+188
|/
* Merge branch '10.0' into 10.1Sergei Golubchik2016-03-211-1/+1
|\
| * Fix spelling: occurred, execute, which etcOtto Kekäläinen2016-03-041-1/+1
| |
* | test cleanup: remove Format_description_log_event size dependencySergei Golubchik2015-09-0411-91/+112
| | | | | | | | | | | | | | | | | | 1. use include/show_binlog_events.inc instead of SHOW BINLOG EVENTS 2. use include/show_relaylog_eventc.inc too 3. in all other places where a number might appear in the result file, include binlog_start_pos.inc, calculate the position like pos=`select $binlog_start_pos + 100`; and use replace_result $pos <pos>
* | Merge MDEV-8496 into 10.1Kristian Nielsen2015-07-192-0/+67
|\ \ | |/
| * MDEV-8496: gtid_ignore_duplicates treats gtid_seq_no as 32-bitKristian Nielsen2015-07-192-0/+67
| | | | | | | | | | --gtid-ignore-duplicates was comparing sequence numbers as 32-bit, so after 2**32 transactions things would start to fail.
* | Merge MDEV-8354 into 10.1Kristian Nielsen2015-06-243-0/+251
|\ \ | |/
| * MDEV-8354: out-of-order error with --gtid-ignore-duplicates and row-based ↵Kristian Nielsen2015-06-243-0/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | replication The --gtid-ignore-duplicates option was not working correctly with row-based replication. When a row event was completed, but before committing, there was a small window where another multi-source SQL thread could wrongly try to re-execute the same transaction, without properly ignoring the duplicate GTID. This would lead to duplicate key error or out-of-order GTID error or similar. Thanks to Matt Neth for reporting this and giving an easy way to reproduce the issue.
* | Merge 10.0 -> 10.1.Kristian Nielsen2015-04-172-27/+110
|\ \ | |/ | | | | | | | | Conflicts: mysql-test/suite/multi_source/multisource.result sql/sql_base.cc
| * MDEV-7107 Sporadic test failure in multi_source.multisourceElena Stepanova2015-03-092-27/+110
| | | | | | | | | | | | Extend show_slave_status.inc to run SHOW ALL SLAVES STATUS and SHOW SLAVE 'name' STATUS on demand, and make the test use the include file instead of direct SHOW statements
* | MDEV-6676: Optimistic parallel replicationKristian Nielsen2015-02-074-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adjust the configuration options, as discussed on the maria-developers@ mailing list. The option to hint a transaction to not be replicated in parallel is now called @@skip_parallel_replication, consistent with @@skip_replication. And the --slave-parallel-mode is now simplified to have just one of the following values: none minimal conservative optimistic aggressive This reflects successively harder efforts to find opportunities to run things in parallel on the slave. It allows to extend the server with more automatic heuristics in the future without having to introduce a new configuration option for each and every one.
* | MDEV-6676: Optimistic parallel replicationKristian Nielsen2014-12-065-35/+36
| | | | | | | | | | | | | | | | | | Implement a new mode for parallel replication. In this mode, all transactions are optimistically attempted applied in parallel. In case of conflicts, the offending transaction is rolled back and retried later non-parallel. This is an early-release patch to facilitate testing, more changes to user interface / options will be expected. The new mode is not enabled by default.
* | MDEV-6593 : domain_id based replication filtersNirbhay Choubey2014-12-035-35/+37
|/ | | | Implementation for domain ID based filtering of replication events.
* MDEV-7037: MariaDB 10.0 does not build on Debian / kfreebsd-i386/amd64 due ↵Kristian Nielsen2014-11-272-55/+11
| | | | | | | | | | | | | | | | | | | | to MTR failure: multi_source.gtid MDEV-7106: Sporadic test failure in multi_source.gtid MDEV-7153: Yet another sporadic failure of multi_source.gtid in buildbot This patch fixes three races in the multi_source.gtid test case that could cause sporadic failures: 1. Do not put SHOW ALL SLAVES STATUS in the output, the output is not stable. 2. Ensure that slave1 has replicated as far as expected, before stopping its connection to master1 (otherwise the following wait will time out due to rows not replicated from master1). 3. Ensure that slave2 has replicated far enough before connecting slave1 to it (otherwise we get an error during connect that slave1 is ahead of slave2).
* MDEV-7074 multi_source.simple test fails in buildbotElena Stepanova2014-11-191-0/+7
| | | | | | | | | | The problem is that the binlog position is updated before Executed_log_entries and Slave_SQL_State. So, it's possible to hit the moment when MASTER_POS_WAIT (and hence sync_with_master) already returned success, but Slave_SQL_State and Executed_log_entries were not modified yet. Fixing it by adding a wait on the expected Executed_log_entries value.
* MDEV-6255 DUPLICATE KEY Errors on SELECT .. GROUP BY that uses temporary and ↵Michael Widenius2014-09-116-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filesort. The problem was that my_hash_sort didn't properly delete end-space characters properly, so strings that should compare identically was seen as different strings. (Space was handled correctly, but not NBSP) This caused duplicate key errors when a heap table was converted to Aria as part of overflow in group by. Fixed by removing all characters that compares as end space when creating a hash. Other things: - Fixed that --sorted_results also works for errors in mysqltest. - Speed up hash by not comparing strings that has different hash. - Speed up many my_hash_sort functions by using registers to calculate hash instead of pointers. This was previously done for some functions, but not for all. - Made a macro of the hash function, to simplify code and to be able to experiment with new hash functions. client/mysqltest.cc: Fixed that --sorted_results also works for error messages. mysql-test/r/ctype_partitions.result: New test to ensure that partitions on hash works mysql-test/suite/multi_source/gtid.result: Updated result mysql-test/suite/multi_source/gtid.test: Test that --sorted_result works for error messages mysql-test/suite/multi_source/gtid_ignore_duplicates.result: Updated result mysql-test/suite/multi_source/gtid_ignore_duplicates.test: Updated result mysql-test/suite/multi_source/load_data.result: Updated result mysql-test/suite/multi_source/load_data.test: Updated result mysql-test/t/ctype_partitions.test: New test to ensure that partitions on hash works storage/heap/hp_write.c: Speed up hash by not comparing strings that has different hash. storage/maria/ma_check.c: Extra debug strings/ctype-bin.c: Use macro for hash function strings/ctype-latin1.c: Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-mb.c: Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-simple.c: Use macro for hash function Use same variable names as in other my_hash_sort functions. Update my_hash_sort_simple() to properly remove end space (patch by Bar) strings/ctype-uca.c: Ignore duplicated space inside strings and end space in my_hash_sort_uca(). This fixed MDEV-6255 Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-ucs2.c: Use macro for hash function Use registers to calculate hash (speedup) strings/ctype-utf8.c: Use macro for hash function Use registers to calculate hash (speedup) strings/strings_def.h: Made a macro of the hash function, to simplify code and to be able to experiment with new hash functions.
* MDEV-5804: If same GTID is received on multiple master connections in ↵unknown2014-03-122-17/+204
| | | | | | | | | multi-source replication, the event is double-executed causing corruption or replication failure Some fixes, mainly to make it work in non-parallel replication mode also (--slave-parallel-threads=0). Patch should be fairly complete now.
* MDEV-5804: If same GTID is received on multiple master connections in ↵unknown2014-03-093-0/+420
| | | | | | | | | | | | | | | | | | | | | | | | | multi-source replication, the event is double-executed causing corruption or replication failure Before, the arrival of same GTID twice in multi-source replication would cause double-apply or in gtid strict mode an error. Keep the behaviour, but add an option --gtid-ignore-duplicates which allows to correctly handle duplicates, ignoring all but the first. This relies on the user ensuring correct configuration so that sequence numbers are strictly increasing within each replication domain; then duplicates can be detected simply by comparing the sequence numbers against what is already applied. Only one master connection (but possibly multiple parallel worker threads within that connection) is allowed to apply events within one replication domain at a time; any other connection that receives a GTID in the same domain either discards it (if it is already applied) or waits for the other connection to not have any events to apply. Intermediate patch, as proof-of-concept for testing. The main limitation is that currently it is only implemented for parallel replication, @@slave_parallel_threads > 0.
* Automatic mergeMichael Widenius2014-02-112-11/+21
|\
| * Fixed test case as gtid events are not counted anymoreMichael Widenius2014-02-112-11/+22
| |
| * Fixed wrong result fileMichael Widenius2014-02-111-1/+0
| |
* | 10.0-base mergeSergei Golubchik2013-12-166-35/+37
|\ \ | |/
| * MDEV-4946: IO thread should expose its current GTID positionunknown2013-11-256-35/+37
| | | | | | | | | | Add another column to SHOW SLAVE STATUS, and adjust test suite to cope.
* | MDEV-5277 - Ensure that all MySQL 5.6 options are supported by theSergey Vojtovich2013-11-251-1/+1
| | | | | | | | MariaDB 10.0 server
* | MDEV-4865 Change related to --log option/variable was merged partiallySergei Golubchik2013-08-132-8/+0
| | | | | | | | | | Complete the merge of magne.mahre@oracle.com-20101102115354-vxcaxminmzglzalk (WL#5185 Remove deprecated 5.1 features)
* | Merge 10.0-base -> 10.0unknown2013-05-289-77/+77
|\ \ | |/
| * MDEV-4475: Replication from MariaDB 10.0 to 5.5 does not workunknown2013-05-246-56/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | The problem was the Gtid_list event which is logged to the binlog in 10.0 and is not understood by the 5.5 server. This event is supposed to be replaced with a dummy event for 5.5 servers. But the very first event logged in the very first binlog has an empty list of GTID, which makes the event too short to be replacable with an empty event. The fix is to pad the empty Gtid_list event to be big enough to be replacable by a dummy event.
| * MDEV-26: Global transaction ID.unknown2013-05-228-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change of user interface to be more logical and more in line with expectations to work similar to old-style replication. User can now explicitly choose in CHANGE MASTER whether binlog position is taken into account (master_gtid_pos=current_pos) or not (master_gtid_pos= slave_pos) when slave connects to master. @@gtid_pos is replaced by three separate variables @@gtid_slave_pos (can be set by user, replicated GTIDs only), @@gtid_binlog_pos (read only), and @@gtid_current_pos (a combination of the two, most recent GTID within each domain). mysql.rpl_slave_state is renamed to mysql.gtid_slave_pos to match. This fixes MDEV-4474.
* | Merge 10.0-base -> 10.0unknown2013-05-032-0/+100
|\ \ | |/
| * Fixed: MDEV-4352; LOAD DATA was not multi-source safeMichael Widenius2013-05-032-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Calls to cleanup_load_tmpdir() could delete temporary files for another master connection - Concurrent LOAD DATA commands from two master connections could use the same file name Other bug fixes: - Enlarge buffer for connection names with 'special characters' one can't store in filenames Optimization: - Don't do 'lower case' of connection names. We can use cmp_connection_name, where we already have the connection name in lower case. mysql-test/suite/multi_source/load_data.result: Test case for MDEV-4352 mysql-test/suite/multi_source/load_data.test: Test case for MDEV-4352 sql/log_event.cc: Fixed: MDEV-4352 - Calls to cleanup_load_tmpdir() could delete temporary files for another master connection - Concurrent LOAD DATA commands from two master connections could use the same file name The fix was to add the connection name (if one exists) to all slave temporary files used by LOAD DATA sql/rpl_mi.cc: Enlarge buffer for connection names with 'special characters' one can't store in filenames Use mi->cmp_connection_name for connection file names. sql/rpl_rli.cc: Use mi->cmp_connection_name for connection file names. sql/slave.cc: Removed not needed empty line sql/sql_const.h: Added MAX_FILENAME_MBWIDTH to be able to calculate buffer length for connection_names stored in file names sql/sql_repl.cc: Use mi->cmp_connection_name for connection file names.
* | 10.0-base mergeSergei Golubchik2013-04-182-2/+8
|\ \ | |/
| * Fix race in test case.unknown2013-04-182-2/+8
| |
| * Fix that multi_source tests did not reset @@global.gtid_pos between tests.unknown2013-04-172-6/+7
| |
* | Merge 10.0-base -> 10.0 (GTID).unknown2013-04-1718-81/+460
|\ \ | |/
| * MDEV-26: Global transaction ID. First alpha release.unknown2013-04-1511-80/+418
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge of 10.0-mdev26 feature tree into 10.0-base. Global transaction ID is prepended to each event group in the binlog. Slave connect can request to start from GTID position instead of specifying file name/offset of master binlog. This facilitates easy switch to a new master. Slave GTID state is stored in a table mysql.rpl_slave_state, which can be InnoDB to get crash-safe slave state. GTID includes a replication domain ID, allowing to keep track of distinct positions for each of multiple masters.
| | * MDEV-26: Global transaction ID.unknown2013-04-052-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace CHANGE MASTER TO ... master_gtid_pos='xxx' with a new system variable @@global.gtid_pos. This is more logical; @@gtid_pos is global, not per-master, and it is not affected by RESET SLAVE. Also rename master_gtid_pos=AUTO to master_use_gtid=1, which again is more logical.
| | * MDEV-26: Global transaction IDunknown2013-04-022-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More fixes for test failures in Buildbot: - Do not run crashing test in Valgrind. - FLUSH TABLES did not work to avoid errors about not closed tables when crashing server. Suppress the messages instead. - Rewrite multi-source test case to only start one pair of slave threads at a time, to work-around the bug MDEV-4352.
| | * MDEV-26: Global transaction IDunknown2013-03-269-80/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adjust full test suite to work with GTID. Huge patch, mainly due to having to update .result file for all SHOW BINLOG EVENTS and mysqlbinlog outputs, where the new GTID events pop up. Everything was painstakingly checked to be still correct and valid .result file updates.
| | * MDEV-26: Global transaction ID.unknown2013-03-141-7/+7
| | | | | | | | | | | | | | | After-rebase fixes. Rebase was done to be able to build on top of the binlog background thread of MDEV-532.
| | * MDEV-26: Global Transaction ID.unknown2013-02-273-0/+327
| | | | | | | | | | | | | | | | | | | | | | | | Add test case demonstrating multi-source replication with GTID. Test that we can move from being slave of two masters to be a slave deeper down in the hierarchy (of a higher-up multi-source slave), and vice versa.
| * | MDEV-4394 Part IIa (missing wait condition for IO thread status in info_logs)Elena Stepanova2013-04-151-0/+14
| | |
| * | MDEV-4394 Part II (missing wait condition for IO thread status)Elena Stepanova2013-04-151-0/+18
| | |