Skip to content

Commit 3e0111b

Browse files
committed
WL#10322: Deprecate innodb_undo_logs in 5.7
* Add (deprecated) to innodb-undo-logs description and mention that it is actually setting the number of rollback segments. * Delete “(deprecated)” from innodb-rollback-segments message. * Add a deprecation warning message when innodb_undo_logs is used at runtime and also at startup in a config or the command line. * Return a warning when innodb_undo_logs is used at runtime. * Rename srv_undo_logs to srv_rollback_segments in code * Rename innodb_undo_logs to innodb_rollback_segments in all collections and testcases except sysvars.innodb_undo_logs_basic. * Fix sysvars.innodb_undo_logs_basic to suppress the deprecation warning. Add a restart to exercise the deprecation code for using it at startup. Approved by Satya in RB#15389
1 parent f5a4a60 commit 3e0111b

26 files changed

+149
-62
lines changed

mysql-test/collections/default.daily

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collectio
3737
perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --parallel=auto --comment=n_mix_4k_size --vardir=var-n_mix_4k --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-daily.list --mysqld=--innodb-page-size=4k --skip-test=innodb_ignore_builtin --suite=innodb
3838
perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --parallel=auto --comment=n_mix_8k_size --vardir=var-n_mix_8k --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-test-list=collections/disabled-daily.list --mysqld=--innodb-page-size=8k --skip-test=innodb_ignore_builtin --suite=innodb
3939
perl mysql-test-run.pl --timer --force --big-test --testcase-timeout=60 --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=2 --bootstrap --innodb_undo_tablespaces=2 --skip-test-list=collections/disabled-per-push.list
40-
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_page_size=64K --bootstrap --innodb_undo_tablespaces=3 --bootstrap --innodb_page_size=64K --bootstrap --innodb_undo_logs=35 --skip-test-list=collections/disabled-per-push.list --big-test noop
40+
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_page_size=64K --bootstrap --innodb_undo_tablespaces=3 --bootstrap --innodb_page_size=64K --bootstrap --innodb_rollback_segments=35 --skip-test-list=collections/disabled-per-push.list --big-test noop
4141

4242
# Engine independent tests
4343
perl mysql-test-run.pl --timer --force --parallel=auto --comment=eits-rpl-binlog-row-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=row --skip-test-list=collections/disabled-daily.list

mysql-test/collections/mysql-5.7-stage.push

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_4k_size
1717

1818
# Run with innodb_undo_tablespace > 1
1919
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=2 --bootstrap --innodb_undo_tablespaces=2 --skip-test-list=collections/disabled-per-push.list
20-
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_page_size=64K --bootstrap --innodb_undo_tablespaces=3 --bootstrap --innodb_page_size=64K --bootstrap --innodb_undo_logs=35 --skip-test-list=collections/disabled-per-push.list --big-test noop
20+
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_page_size=64K --bootstrap --innodb_undo_tablespaces=3 --bootstrap --innodb_page_size=64K --bootstrap --innodb_rollback_segments=35 --skip-test-list=collections/disabled-per-push.list --big-test noop
2121

2222
# Additional modes for rpl. Multi-Threaded Slave
2323
perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_binlog_n_mix_MTS --vardir=var-mts-rpl-binlog-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --mysqld=--slave-parallel-workers=4 --suite=rpl

mysql-test/collections/mysql-trunk-stage.push

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_4k_size
1717

1818
# Run with innodb_undo_tablespace > 1
1919
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=2 --bootstrap --innodb_undo_tablespaces=2 --skip-test-list=collections/disabled-per-push.list
20-
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_page_size=64K --bootstrap --innodb_undo_tablespaces=3 --bootstrap --innodb_page_size=64K --bootstrap --innodb_undo_logs=35 --skip-test-list=collections/disabled-per-push.list --big-test noop
20+
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_undo --vardir=var-innodb-undo --experimental=collections/default.experimental --suite=innodb_undo --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_page_size=64K --bootstrap --innodb_undo_tablespaces=3 --bootstrap --innodb_page_size=64K --bootstrap --innodb_rollback_segments=35 --skip-test-list=collections/disabled-per-push.list --big-test noop
2121

2222
# Additional modes for rpl. Multi-Threaded Slave
2323
perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_binlog_n_mix_MTS --vardir=var-mts-rpl-binlog-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --mysqld=--slave-parallel-workers=4 --suite=rpl

mysql-test/suite/innodb/r/innodb_bug12400341.result

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
call mtr.add_suppression("\\[Warning\\] InnoDB: Cannot find a free slot for an undo log. Do you have too");
2-
set @old_innodb_undo_logs = @@innodb_undo_logs;
3-
set global innodb_undo_logs=1;
1+
set @old_innodb_rollback_segments = @@innodb_rollback_segments;
2+
set global innodb_rollback_segments=1;
43
show variables like "max_connections";
54
Variable_name Value
65
max_connections 64
@@ -25,4 +24,4 @@ select count(*) from information_schema.processlist;
2524
count(*)
2625
33
2726
drop database mysqltest;
28-
set global innodb_undo_logs = @old_innodb_undo_logs;
27+
set global innodb_rollback_segments = @old_innodb_rollback_segments;

mysql-test/suite/innodb/r/innodb_wl6915_debug.result

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ count(*)
5858
50
5959
drop table t2;
6060
drop procedure populate_t1_t2;
61-
# restart: --innodb_undo_logs=1
61+
# restart: --innodb_rollback_segments=1
6262
create table t (i int) engine=innodb;
6363
insert into t values (1);
6464
insert into t values (2);
@@ -95,7 +95,7 @@ count(*)
9595
drop table t1;
9696
drop table t2;
9797
drop procedure populate_t1_t2;
98-
# restart: --innodb_undo_logs=10
98+
# restart: --innodb_rollback_segments=10
9999
create table t (i int) engine=innodb;
100100
insert into t values (1);
101101
insert into t values (2);
@@ -104,7 +104,7 @@ insert into t values (1);
104104
insert into t values (2);
105105
drop table t;
106106
drop table t2;
107-
# restart: --innodb_undo_logs=40
107+
# restart: --innodb_rollback_segments=40
108108
create table t (i int) engine=innodb;
109109
insert into t values (1);
110110
insert into t values (2);

mysql-test/suite/innodb/t/innodb_bug12400341.test

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ if (`select count(*)=0 from information_schema.global_variables where variable_n
1313
# and cause unstable result.
1414
--source include/not_valgrind.inc
1515

16+
--disable_query_log
1617
call mtr.add_suppression("\\[Warning\\] InnoDB: Cannot find a free slot for an undo log. Do you have too");
1718

18-
--disable_query_log
1919
set @old_innodb_trx_rseg_n_slots_debug = @@innodb_trx_rseg_n_slots_debug;
2020
set global innodb_trx_rseg_n_slots_debug = 32;
2121
--enable_query_log
2222

23-
set @old_innodb_undo_logs = @@innodb_undo_logs;
24-
set global innodb_undo_logs=1;
23+
set @old_innodb_rollback_segments = @@innodb_rollback_segments;
24+
set global innodb_rollback_segments=1;
2525

2626
show variables like "max_connections";
2727
show variables like "innodb_thread_concurrency";
@@ -107,7 +107,7 @@ while ($c)
107107
#
108108
drop database mysqltest;
109109

110-
set global innodb_undo_logs = @old_innodb_undo_logs;
110+
set global innodb_rollback_segments = @old_innodb_rollback_segments;
111111

112112
--disable_query_log
113113
set global innodb_trx_rseg_n_slots_debug = @old_innodb_trx_rseg_n_slots_debug;

mysql-test/suite/innodb/t/innodb_bug14676111.test

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ if (`select count(*)=0 from information_schema.global_variables where variable_n
1313
--disable_query_log
1414
set @old_innodb_limit_optimistic_insert_debug = @@innodb_limit_optimistic_insert_debug;
1515
set @old_innodb_stats_persistent = @@innodb_stats_persistent;
16-
set @old_innodb_undo_logs = @@innodb_undo_logs;
16+
set @old_innodb_rollback_segments = @@innodb_rollback_segments;
1717
# Limit undo segments for stable progress of purge.
18-
set global innodb_undo_logs = 1;
18+
set global innodb_rollback_segments = 1;
1919
--enable_query_log
2020
--disable_warnings
2121
drop table if exists t1;
@@ -139,5 +139,5 @@ drop table t1;
139139
--disable_query_log
140140
set global innodb_limit_optimistic_insert_debug = @old_innodb_limit_optimistic_insert_debug;
141141
set global innodb_stats_persistent = @old_innodb_stats_persistent;
142-
set global innodb_undo_logs = @old_innodb_undo_logs;
142+
set global innodb_rollback_segments = @old_innodb_rollback_segments;
143143
--enable_query_log

mysql-test/suite/innodb/t/innodb_wl6915_debug.test

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ call mtr.add_suppression("Found .* prepared XA transactions");
2323
# Will test following scenarios:
2424
# 1. Hitting crash while preparing xa trx.
2525
# 2. Hitting crash while committing normal trx involving temp/non-temp tables.
26-
# 3. try to start server with different values of innodb_undo_logs.
26+
# 3. try to start server with different values of innodb_rollback_segments.
2727
# (try scenario such that a rollback segment is shared by multiple trxs).
2828
#
2929
################################################################################
@@ -108,10 +108,10 @@ drop procedure populate_t1_t2;
108108

109109
#-----------------------------------------------------------------------------
110110
#
111-
# 3. try to start server with different values of innodb_undo_logs.
111+
# 3. try to start server with different values of innodb_rollback_segments.
112112
# (try scenario such that a rollback segment is shared by multiple trxs).
113113
#
114-
let $restart_parameters = restart: --innodb_undo_logs=1;
114+
let $restart_parameters = restart: --innodb_rollback_segments=1;
115115
--source include/restart_mysqld.inc
116116
#
117117
create table t (i int) engine=innodb;
@@ -160,9 +160,9 @@ connection default;
160160
drop table t2;
161161
drop procedure populate_t1_t2;
162162
#
163-
# trying with value innodb_undo_logs = 10 (so only slot-0 redo rseg is active)
163+
# trying with value innodb_rollback_segments = 10 (so only slot-0 redo rseg is active)
164164
#
165-
let $restart_parameters = restart: --innodb_undo_logs=10;
165+
let $restart_parameters = restart: --innodb_rollback_segments=10;
166166
--source include/restart_mysqld.inc
167167
#
168168
create table t (i int) engine=innodb;
@@ -174,9 +174,9 @@ insert into t values (2);
174174
drop table t;
175175
drop table t2;
176176
#
177-
# trying with value innodb_undo_logs = 40 (this will make 8 redo rseg active).
177+
# trying with value innodb_rollback_segments = 40 (this will make 8 redo rseg active).
178178
#
179-
let $restart_parameters = restart: --innodb_undo_logs=40;
179+
let $restart_parameters = restart: --innodb_rollback_segments=40;
180180
--source include/restart_mysqld.inc
181181
#
182182
create table t (i int) engine=innodb;

mysql-test/suite/innodb/t/log_file.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ EOF
1818

1919
--append_file $bugdir/my.cnf
2020
innodb_data_file_path = ibdata1:10M;ibdata2:10M:autoextend
21-
innodb_undo_logs = 20
21+
innodb_rollback_segments = 20
2222
innodb_undo_tablespaces = 3
2323
innodb_log_files_in_group = 3
2424
EOF

mysql-test/suite/innodb_undo/r/truncate.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# restart: --innodb_undo_tablespaces=2 --innodb_undo_logs=35
1+
# restart: --innodb_undo_tablespaces=2 --innodb_rollback_segments=35
22
create table t1
33
(keyc int, c1 char(100), c2 char(100),
44
primary key(keyc)) engine = innodb;

0 commit comments

Comments
 (0)