mirror of
https://github.com/MariaDB/server.git
synced 2026-05-10 09:04:29 +02:00
MDEV-6676: Optimistic parallel replication
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.
This commit is contained in:
parent
1e3f09f163
commit
db21fddc37
55 changed files with 2596 additions and 466 deletions
|
|
@ -80,7 +80,8 @@ ROLLBACK/*!*/;
|
|||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
|
||||
/*!100101 SET @@session.replicate_allow_parallel=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
|
||||
|
|
@ -98,7 +99,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||
DROP DATABASE IF EXISTS test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -106,7 +107,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -114,7 +115,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test3
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -122,7 +123,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -130,7 +131,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -332,7 +333,8 @@ ROLLBACK/*!*/;
|
|||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
|
||||
/*!100101 SET @@session.replicate_allow_parallel=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
|
||||
|
|
@ -350,15 +352,15 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||
DROP DATABASE IF EXISTS test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -366,11 +368,11 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
|
|
@ -503,7 +505,8 @@ ROLLBACK/*!*/;
|
|||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
|
||||
/*!100101 SET @@session.replicate_allow_parallel=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
|
||||
|
|
@ -521,7 +524,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||
DROP DATABASE IF EXISTS test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -529,7 +532,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -537,7 +540,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test3
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -545,7 +548,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -553,7 +556,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -745,7 +748,8 @@ ROLLBACK/*!*/;
|
|||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
|
||||
/*!100101 SET @@session.replicate_allow_parallel=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
|
||||
|
|
@ -763,7 +767,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||
DROP DATABASE IF EXISTS test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -771,7 +775,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -779,7 +783,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test3
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -787,7 +791,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -795,7 +799,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -997,7 +1001,8 @@ ROLLBACK/*!*/;
|
|||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
|
||||
/*!100101 SET @@session.replicate_allow_parallel=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
|
||||
|
|
@ -1015,15 +1020,15 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||
DROP DATABASE IF EXISTS test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -1031,11 +1036,11 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
# at #
|
||||
# at #
|
||||
|
|
@ -1168,7 +1173,8 @@ ROLLBACK/*!*/;
|
|||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Binlog checkpoint master-bin.000001
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-1 ddl
|
||||
/*!100101 SET @@session.replicate_allow_parallel=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
|
||||
|
|
@ -1186,7 +1192,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
|||
DROP DATABASE IF EXISTS test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-2 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -1194,7 +1200,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-3 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -1202,7 +1208,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
DROP DATABASE IF EXISTS test3
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -1210,7 +1216,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
@ -1218,7 +1224,7 @@ SET TIMESTAMP=1000000000/*!*/;
|
|||
CREATE DATABASE test2
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
|
||||
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6 ddl
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue