Skip to content

Commit db16967

Browse files
committed
WL#13965: Remove binlog_transaction_dependency_tracking
Remove deprecated option `binlog_transaction_dependency_tracking`. The server will implicitly use the "WRITESET" behavior. Change-Id: I68226ea5b75890e808e70c83f47eaffe5ae626eb
1 parent cb9eb90 commit db16967

File tree

155 files changed

+543
-3477
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+543
-3477
lines changed

mysql-test/collections/default.weekly

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,11 @@ perl mysql-test-run.pl --timer --force --comment=innodb_sync_debug --testcase-
149149
#
150150
####SECTION 7 RPL/BINLOG EXTENDED-WEEKLY#############
151151
#
152-
# binlog-transaction-dependency-tracking=COMMIT_ORDER with replica-parallel-workers=4 (default) and replica-parallel-type=logical_clock (default)
153-
perl mysql-test-run.pl --timer --force --no-skip --testcase-timeout=60 --debug-server --comment=rpl-mta-trx-dependency-tracking-commit-order --vardir=var-rpl-mta-trx-dependency-tracking-commit-order --do-suite=rpl --mysqld=--binlog-format=row --mysqld=--binlog-transaction-dependency-tracking=COMMIT_ORDER
154-
155152
# Rpl suite with MTA replica-parallel-type=logical_clock and replica-preserve-commit-order=0
156153
perl mysql-test-run.pl --debug-server --timer --force --big-test --testcase-timeout=60 --comment=rpl-mta-lc-norpco --vardir=var-rpl-mta-lc-norpco --mysqld=--replica-parallel-workers=4 --mysqld=--replica-parallel-type=logical_clock --mysqld=--replica-preserve-commit-order=0 --do-suite=rpl --no-skip
157154

158-
# RPL suite + MTS + WRITESET + LOGICAL_CLOCK with binlog compression turned ON.
159-
perl mysql-test-run.pl --debug-server --timer --force --big-test --testcase-timeout=60 --comment=replication_compression_mts_lc_ws --vardir=var-rpl-comp-mts-lc-ws --mysqld=--replica_parallel_type=LOGICAL_CLOCK --mysqld=--replica_parallel_workers=4 --mysqld=--binlog-format=ROW --mysqld=--binlog-transaction-dependency-tracking=WRITESET --mysqld=--binlog-transaction-compression=ON --do-suite=rpl --no-skip
155+
# RPL suite + MTS + LOGICAL_CLOCK with binlog compression turned ON.
156+
perl mysql-test-run.pl --debug-server --timer --force --big-test --testcase-timeout=60 --comment=replication_compression_mts_lc_ws --vardir=var-rpl-comp-mts-lc-ws --mysqld=--replica_parallel_type=LOGICAL_CLOCK --mysqld=--replica_parallel_workers=4 --mysqld=--binlog-format=ROW --mysqld=--binlog-transaction-compression=ON --do-suite=rpl --no-skip
160157

161158
# binlog suite with compression turned on
162159
perl mysql-test-run.pl --debug-server --timer --force --big-test --testcase-timeout=60 --comment=binlog_compression --vardir=var-binlog-comp --mysqld=--binlog-transaction-compression=ON --suite=binlog,binlog_nogtid,binlog_gtid,i_binlog --mysqld=--binlog-format=ROW --no-skip

mysql-test/extra/rpl_tests/rpl_mts_replica_preserve_commit_order_nobinlog.inc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,6 @@ if (!$mts_spco_skip_init_statement)
143143

144144
--source include/rpl_connection_master.inc
145145

146-
SET @save_binlog_transaction_dependency_tracking= @@global.binlog_transaction_dependency_tracking;
147-
SET @@global.binlog_transaction_dependency_tracking = COMMIT_ORDER;
148-
149146
--let $mts_spco_skip_init_statement = 1
150147
}
151148

@@ -383,7 +380,6 @@ if ($mts_spco_cleanup_statement)
383380
--echo
384381

385382
--source include/rpl_connection_master.inc
386-
SET GLOBAL binlog_transaction_dependency_tracking=@save_binlog_transaction_dependency_tracking;
387383
--source include/sync_slave_sql_with_master.inc
388384

389385
--source include/stop_slave.inc

mysql-test/extra/rpl_tests/rpl_mts_spco_acl_commands.test

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ SET GLOBAL replica_preserve_commit_order= ON;
5757
CALL mtr.add_suppression(".*Following users were specified in CREATE USER IF NOT EXISTS but they already exist.*");
5858
CALL mtr.add_suppression(".*Following users were specified in ALTER USER IF EXISTS but they do not exist.*");
5959

60-
SET @save_binlog_transaction_dependency_tracking= @@global.binlog_transaction_dependency_tracking;
61-
SET @@global.binlog_transaction_dependency_tracking = COMMIT_ORDER;
62-
6360
# Create tables on source
6461
CREATE TABLE t1 (c1 INT PRIMARY KEY) ENGINE = InnoDB;
6562
CREATE TABLE t2 (c1 INT PRIMARY KEY) ENGINE = InnoDB;
@@ -110,7 +107,6 @@ while($j <= $counter)
110107
--echo
111108

112109
--source include/rpl_connection_master1.inc
113-
SET GLOBAL binlog_transaction_dependency_tracking=@save_binlog_transaction_dependency_tracking;
114110
DROP TABLE t1,t2,commands;
115111

116112
--source include/sync_slave_sql_with_master.inc

mysql-test/extra/rpl_tests/rpl_mts_spco_alter_table_commands.test

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ SET GLOBAL replica_preserve_commit_order= ON;
5757

5858
--source include/rpl_connection_master1.inc
5959

60-
SET @save_binlog_transaction_dependency_tracking= @@global.binlog_transaction_dependency_tracking;
61-
SET @@global.binlog_transaction_dependency_tracking = COMMIT_ORDER;
62-
6360
# Create tables on master
6461
CREATE TABLE t1 (c1 INT PRIMARY KEY) ENGINE = InnoDB;
6562
CREATE TABLE t2 (c1 INT PRIMARY KEY) ENGINE = InnoDB;
@@ -110,7 +107,6 @@ while($j <= $counter)
110107
--echo
111108

112109
--source include/rpl_connection_master1.inc
113-
SET GLOBAL binlog_transaction_dependency_tracking=@save_binlog_transaction_dependency_tracking;
114110
DROP TABLE t1,t2,commands;
115111

116112
--source include/sync_slave_sql_with_master.inc

mysql-test/extra/rpl_tests/rpl_mts_spco_commands.test

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ SET GLOBAL replica_preserve_commit_order= ON;
4747

4848
--source include/rpl_connection_master1.inc
4949

50-
SET @save_binlog_transaction_dependency_tracking= @@global.binlog_transaction_dependency_tracking;
51-
SET @@global.binlog_transaction_dependency_tracking = COMMIT_ORDER;
52-
5350
--let $tc_count=1
5451
--echo
5552
--echo #################################################################
@@ -643,7 +640,6 @@ SET @@global.binlog_transaction_dependency_tracking = COMMIT_ORDER;
643640

644641
--let $tc_count=
645642
--source include/rpl_connection_master1.inc
646-
SET GLOBAL binlog_transaction_dependency_tracking=@save_binlog_transaction_dependency_tracking;
647643
--source include/sync_slave_sql_with_master.inc
648644

649645
--source include/stop_slave.inc

mysql-test/extra/rpl_tests/rpl_mts_spco_partition_commands.test

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,6 @@ SET GLOBAL replica_preserve_commit_order= ON;
4545

4646
--source include/rpl_connection_master1.inc
4747

48-
SET @save_binlog_transaction_dependency_tracking= @@global.binlog_transaction_dependency_tracking;
49-
SET @@global.binlog_transaction_dependency_tracking = COMMIT_ORDER;
50-
5148
# Create table with subpartitions (HASH and RANGE PARTITION)
5249

5350
CREATE TABLE t_part (i INTEGER) PARTITION BY RANGE(i)
@@ -492,7 +489,6 @@ UNLOCK TABLES;
492489
--echo
493490

494491
--source include/rpl_connection_master1.inc
495-
SET GLOBAL binlog_transaction_dependency_tracking=@save_binlog_transaction_dependency_tracking;
496492
--source include/sync_slave_sql_with_master.inc
497493

498494
--source include/stop_slave.inc

mysql-test/include/excludenoskip.list

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -264,13 +264,6 @@ redo_log_archive_05.test
264264
# 23.0 Tests that do/don't need clone plugin.
265265
have_clone_plugin.inc
266266

267-
# 24.0 Binlog_transaction_dependency_tracking
268-
# The below files included because default value of
269-
# binlog_transaction_dependency_tracking is COMMIT_ORDER and few rpl suite runs
270-
# with binlog_transaction_dependency_tracking=WRITESET and all the test may not
271-
# be meant to run on binlog_transaction_dependency_tracking=WRITESET.
272-
have_binlog_transaction_dependency_tracking_commit_order.inc
273-
274267
# 25.0 Binlog_transaction_compression
275268
# The below file is included because by default
276269
# binlog_transaction_compression is disabled and few rpl suite runs

mysql-test/include/have_binlog_transaction_dependency_tracking_commit_order.inc

Lines changed: 0 additions & 9 deletions
This file was deleted.

mysql-test/include/spawn_monitoring_process.inc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ if (!$have_windows) {
3232
WHERE VARIABLE_NAME LIKE 'replica_parallel_workers'
3333
OR VARIABLE_NAME LIKE 'replica_parallel_type'
3434
OR VARIABLE_NAME LIKE 'replica_preserve_commit_order'
35-
OR VARIABLE_NAME LIKE 'binlog_transaction_dependency_tracking'
3635
OR VARIABLE_NAME LIKE 'enforce_gtid_consistency'
3736
OR VARIABLE_NAME LIKE 'gtid_mode'
3837
ORDER BY VARIABLE_NAME;

mysql-test/r/all_persisted_variables.result

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,17 @@ include/assert.inc [Expect 500+ variables in the table. Due to open Bugs, we are
4646

4747
# Test SET PERSIST
4848

49-
include/assert.inc [Expect 442 persisted variables in the table.]
49+
include/assert.inc [Expect 441 persisted variables in the table.]
5050

5151
************************************************************
5252
* 3. Restart server, it must preserve the persisted variable
5353
* settings. Verify persisted configuration.
5454
************************************************************
5555
# restart
5656

57-
include/assert.inc [Expect 442 persisted variables in persisted_variables table.]
58-
include/assert.inc [Expect 442 persisted variables shown as PERSISTED in variables_info table.]
59-
include/assert.inc [Expect 442 persisted variables with matching peristed and global values.]
57+
include/assert.inc [Expect 441 persisted variables in persisted_variables table.]
58+
include/assert.inc [Expect 441 persisted variables shown as PERSISTED in variables_info table.]
59+
include/assert.inc [Expect 441 persisted variables with matching peristed and global values.]
6060

6161
************************************************************
6262
* 4. Test RESET PERSIST IF EXISTS. Verify persisted variable

mysql-test/r/grant_dynamic_session_variables_admin.result

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
SET GLOBAL binlog_transaction_dependency_tracking=COMMIT_ORDER;
2-
Warnings:
3-
Warning 1287 '@@binlog_transaction_dependency_tracking' is deprecated and will be removed in a future release.
41
# Testing FR2
52
Must have SESSION_VARIABLES_ADMIN with grant option
63
SHOW GRANTS FOR root@localhost;
@@ -178,9 +175,6 @@ SET SESSION rbr_exec_mode = DEFAULT;
178175
# Cleanup
179176
DROP DATABASE wl12217;
180177
DROP USER wl12217@localhost;
181-
SET GLOBAL binlog_transaction_dependency_tracking=SAVED_BINLOG_TRANSACTION_DEPENDENCY_TRACKING;
182-
Warnings:
183-
Warning 1287 '@@binlog_transaction_dependency_tracking' is deprecated and will be removed in a future release.
184178
# Testing FR7
185179
# Must have SESSION_VARIABLES_ADMIN
186180
SHOW GRANTS for "mysql.session"@localhost;

mysql-test/r/mysqld--help-notwin.result

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -222,12 +222,6 @@ The following options may be given as the first argument:
222222
transaction compression in the binary log.
223223
--binlog-transaction-dependency-history-size=#
224224
Maximum number of rows to keep in the writeset history.
225-
--binlog-transaction-dependency-tracking=name
226-
Selects the source of dependency information from which
227-
to compute logical timestamps, which replicas can use to
228-
decide which transactions can be executed in parallel
229-
when using replica_parallel_type=LOGICAL_CLOCK. Possible
230-
values are COMMIT_ORDER, WRITESET and WRITESET_SESSION.
231225
--block-encryption-mode=name
232226
mode for AES_ENCRYPT/AES_DECRYPT
233227
--bulk-insert-buffer-size=#
@@ -1138,8 +1132,7 @@ The following options may be given as the first argument:
11381132
databases. LOGICAL_CLOCK, which is the default, indicates
11391133
that it decides whether two transactions can be applied
11401134
in parallel using the logical timestamps computed by the
1141-
source, according to
1142-
binlog_transaction_dependency_tracking.
1135+
source.
11431136
--replica-parallel-workers=#
11441137
Number of worker threads for executing events in parallel
11451138
--replica-pending-jobs-size-max=#
@@ -1645,7 +1638,6 @@ binlog-stmt-cache-size 32768
16451638
binlog-transaction-compression FALSE
16461639
binlog-transaction-compression-level-zstd 3
16471640
binlog-transaction-dependency-history-size 25000
1648-
binlog-transaction-dependency-tracking WRITESET
16491641
block-encryption-mode aes-128-ecb
16501642
bulk-insert-buffer-size 8388608
16511643
caching-sha2-password-digest-rounds 5000

mysql-test/r/mysqld--help-win.result

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -222,12 +222,6 @@ The following options may be given as the first argument:
222222
transaction compression in the binary log.
223223
--binlog-transaction-dependency-history-size=#
224224
Maximum number of rows to keep in the writeset history.
225-
--binlog-transaction-dependency-tracking=name
226-
Selects the source of dependency information from which
227-
to compute logical timestamps, which replicas can use to
228-
decide which transactions can be executed in parallel
229-
when using replica_parallel_type=LOGICAL_CLOCK. Possible
230-
values are COMMIT_ORDER, WRITESET and WRITESET_SESSION.
231225
--block-encryption-mode=name
232226
mode for AES_ENCRYPT/AES_DECRYPT
233227
--bulk-insert-buffer-size=#
@@ -1141,8 +1135,7 @@ The following options may be given as the first argument:
11411135
databases. LOGICAL_CLOCK, which is the default, indicates
11421136
that it decides whether two transactions can be applied
11431137
in parallel using the logical timestamps computed by the
1144-
source, according to
1145-
binlog_transaction_dependency_tracking.
1138+
source.
11461139
--replica-parallel-workers=#
11471140
Number of worker threads for executing events in parallel
11481141
--replica-pending-jobs-size-max=#
@@ -1656,7 +1649,6 @@ binlog-stmt-cache-size 32768
16561649
binlog-transaction-compression FALSE
16571650
binlog-transaction-compression-level-zstd 3
16581651
binlog-transaction-dependency-history-size 25000
1659-
binlog-transaction-dependency-tracking WRITESET
16601652
block-encryption-mode aes-128-ecb
16611653
bulk-insert-buffer-size 8388608
16621654
caching-sha2-password-digest-rounds 5000

mysql-test/suite/binlog/r/binlog_reset_connection_not_reset_writeset.result

Lines changed: 0 additions & 19 deletions
This file was deleted.

mysql-test/suite/binlog/r/binlog_set_trans_dependency_deadlock.result

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ SET DEBUG_SYNC="purge_logs_after_lock_index_before_thread_count SIGNAL purge_rea
99
PURGE BINARY LOGS BEFORE '2038-01-19';
1010
connect con2,localhost,root,,;
1111
SET DEBUG_SYNC="materialize_session_variable_array_THD_locked SIGNAL pfs_ready WAIT_FOR finish_pfs";
12-
SELECT * FROM performance_schema.session_variables WHERE VARIABLE_NAME LIKE 'binlog_transaction_dependency_tracking';;
12+
SELECT * FROM performance_schema.session_variables WHERE VARIABLE_NAME LIKE 'binlog_transaction_dependency_history_size';
1313
connect con3,localhost,root,,;
1414
SET DEBUG_SYNC="show_binlogs_after_lock_log_before_lock_index SIGNAL show_ready WAIT_FOR finish_show";
1515
SHOW BINARY LOGS;
@@ -26,7 +26,7 @@ Warning 1868 file binlog.000002 was not purged because it is the active log file
2626
disconnect con1;
2727
connection con2;
2828
VARIABLE_NAME VARIABLE_VALUE
29-
binlog_transaction_dependency_tracking WRITESET
29+
binlog_transaction_dependency_history_size 25000
3030
disconnect con2;
3131
connection con3;
3232
disconnect con3;

mysql-test/suite/binlog/r/binlog_transaction_dependency_tracking_on_start.result

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,12 @@
11
RESET BINARY LOGS AND GTIDS;
22
#
3-
# 1. Setup
4-
# Set dependency tracking to WRITESET
5-
include/save_sysvars.inc [ "GLOBAL.binlog_transaction_dependency_tracking" ]
6-
SET GLOBAL binlog_transaction_dependency_tracking = WRITESET;
7-
Warnings:
8-
Warning 1287 '@@binlog_transaction_dependency_tracking' is deprecated and will be removed in a future release.
9-
#
10-
# 2. Create a table
3+
# 1. Create a table
114
# Execute transactions that are not conflicting according to their writesets
125
CREATE TABLE t1 (a INT PRIMARY KEY AUTO_INCREMENT, b INT);
136
INSERT INTO t1 VALUES(1, 1), (2, 2), (3, 3);
147
INSERT INTO t1 (b) VALUES(4), (5), (6);
158
#
16-
# 3. Change the binlog format to Mixed
9+
# 2. Change the binlog format to Mixed
1710
# Execute a transaction that has a statement part that conflicts with a previous transaction
1811
# and an unsafe part that is logged as row but is non conflicting
1912
SET binlog_format=MIXED;
@@ -24,11 +17,8 @@ UPDATE t1 SET b=55 WHERE a=5;
2417
INSERT INTO t1 (b) VALUES(ceil(rand()*100));
2518
COMMIT;
2619
#
27-
# 4. Check the last transaction is marked as conflicting with the previous
20+
# 3. Check the last transaction is marked as conflicting with the previous
2821
include/include/assert_logical_timestamps.inc [0 1;1 2;1 3;3 4]
2922
#
30-
# 5. Clean up
23+
# 4. Clean up
3124
DROP TABLE t1;
32-
include/restore_sysvars.inc
33-
Warnings:
34-
Warning 1287 '@@binlog_transaction_dependency_tracking' is deprecated and will be removed in a future release.

mysql-test/suite/binlog/t/binlog_multi_valued_index.test

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44

55
# ==== Requirements ====
66
#
7-
# R1. When using binlog_transaction_dependency_tracking = 'WRITESET', two
8-
# transactions that conflict on a unique multi-valued index must be marked as
9-
# dependent in the binary log.
7+
# R1. Two transactions that conflict on a unique multi-valued index must be
8+
# marked as dependent in the binary log.
109
# R2. When using binlog_row_image=MINIMAL, the before-image shall not be
1110
# generated from a multi-valued index.
1211
#

0 commit comments

Comments
 (0)