Skip to content

Commit ead61d9

Browse files
committed
MDEV-32874 Test innodb.innodb-table-online,crypt occasionally fails
Let us make the test compatible with ./mtr --repeat and convert variable_value to integer, so that comparisons like 16>9 will work as intended, instead of being compared as '16'<'9'.
1 parent 69d294e commit ead61d9

File tree

2 files changed

+34
-28
lines changed

2 files changed

+34
-28
lines changed

mysql-test/suite/innodb/r/innodb-table-online.result

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
SET GLOBAL innodb_monitor_reset_all=all;
2+
SET GLOBAL innodb_monitor_reset_all=default;
13
call mtr.add_suppression("InnoDB: Warning: Small buffer pool size");
24
call mtr.add_suppression("InnoDB: Error: table 'test/t1'");
35
call mtr.add_suppression("MySQL is trying to open a table handle but the .ibd file for");
@@ -185,13 +187,13 @@ Table Op Msg_type Msg_text
185187
test.t1 analyze status Engine-independent statistics collected
186188
test.t1 analyze status OK
187189
SET @merge_encrypt_0=
188-
(SELECT variable_value FROM information_schema.global_status
190+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
189191
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
190192
SET @merge_decrypt_0=
191-
(SELECT variable_value FROM information_schema.global_status
193+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
192194
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
193195
SET @rowlog_encrypt_0=
194-
(SELECT variable_value FROM information_schema.global_status
196+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
195197
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
196198
connection con1;
197199
SHOW CREATE TABLE t1;
@@ -253,13 +255,13 @@ ddl_pending_alter_table 1
253255
ddl_sort_file_alter_table 0
254256
ddl_log_file_alter_table 1
255257
SET @merge_encrypt_1=
256-
(SELECT variable_value FROM information_schema.global_status
258+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
257259
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
258260
SET @merge_decrypt_1=
259-
(SELECT variable_value FROM information_schema.global_status
261+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
260262
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
261263
SET @rowlog_encrypt_1=
262-
(SELECT variable_value FROM information_schema.global_status
264+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
263265
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
264266
SELECT
265267
(@merge_encrypt_1-@merge_encrypt_0)-
@@ -280,16 +282,16 @@ ddl_pending_alter_table 0
280282
ddl_sort_file_alter_table 0
281283
ddl_log_file_alter_table 1
282284
SET @merge_encrypt_1=
283-
(SELECT variable_value FROM information_schema.global_status
285+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
284286
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
285287
SET @merge_decrypt_1=
286-
(SELECT variable_value FROM information_schema.global_status
288+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
287289
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
288290
SET @rowlog_encrypt_1=
289-
(SELECT variable_value FROM information_schema.global_status
291+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
290292
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
291293
SET @rowlog_decrypt_1=
292-
(SELECT variable_value FROM information_schema.global_status
294+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
293295
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
294296
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt3 WAIT_FOR dml3_done';
295297
ALTER TABLE t1 ADD PRIMARY KEY(c22f), CHANGE c2 c22f INT;
@@ -342,16 +344,16 @@ CHECK TABLE t1;
342344
Table Op Msg_type Msg_text
343345
test.t1 check status OK
344346
SET @merge_encrypt_2=
345-
(SELECT variable_value FROM information_schema.global_status
347+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
346348
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
347349
SET @merge_decrypt_2=
348-
(SELECT variable_value FROM information_schema.global_status
350+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
349351
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
350352
SET @rowlog_encrypt_2=
351-
(SELECT variable_value FROM information_schema.global_status
353+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
352354
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
353355
SET @rowlog_decrypt_2=
354-
(SELECT variable_value FROM information_schema.global_status
356+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
355357
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
356358
SELECT
357359
(@merge_encrypt_2-@merge_encrypt_1)-

mysql-test/suite/innodb/t/innodb-table-online.test

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
--source include/have_debug.inc
44
--source include/have_debug_sync.inc
55

6+
SET GLOBAL innodb_monitor_reset_all=all;
7+
--disable_warnings
8+
SET GLOBAL innodb_monitor_reset_all=default;
9+
--enable_warnings
610
let $innodb_metrics_select=
711
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
812

@@ -171,13 +175,13 @@ EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
171175
ANALYZE TABLE t1;
172176

173177
SET @merge_encrypt_0=
174-
(SELECT variable_value FROM information_schema.global_status
178+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
175179
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
176180
SET @merge_decrypt_0=
177-
(SELECT variable_value FROM information_schema.global_status
181+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
178182
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
179183
SET @rowlog_encrypt_0=
180-
(SELECT variable_value FROM information_schema.global_status
184+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
181185
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
182186

183187
connection con1;
@@ -222,13 +226,13 @@ while ($c)
222226
eval $innodb_metrics_select;
223227

224228
SET @merge_encrypt_1=
225-
(SELECT variable_value FROM information_schema.global_status
229+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
226230
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
227231
SET @merge_decrypt_1=
228-
(SELECT variable_value FROM information_schema.global_status
232+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
229233
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
230234
SET @rowlog_encrypt_1=
231-
(SELECT variable_value FROM information_schema.global_status
235+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
232236
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
233237

234238
SELECT
@@ -250,16 +254,16 @@ reap;
250254
eval $innodb_metrics_select;
251255

252256
SET @merge_encrypt_1=
253-
(SELECT variable_value FROM information_schema.global_status
257+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
254258
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
255259
SET @merge_decrypt_1=
256-
(SELECT variable_value FROM information_schema.global_status
260+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
257261
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
258262
SET @rowlog_encrypt_1=
259-
(SELECT variable_value FROM information_schema.global_status
263+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
260264
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
261265
SET @rowlog_decrypt_1=
262-
(SELECT variable_value FROM information_schema.global_status
266+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
263267
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
264268

265269
# Accumulate and apply some modification log.
@@ -296,16 +300,16 @@ SELECT COUNT(c22f) FROM t1;
296300
CHECK TABLE t1;
297301

298302
SET @merge_encrypt_2=
299-
(SELECT variable_value FROM information_schema.global_status
303+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
300304
WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
301305
SET @merge_decrypt_2=
302-
(SELECT variable_value FROM information_schema.global_status
306+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
303307
WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
304308
SET @rowlog_encrypt_2=
305-
(SELECT variable_value FROM information_schema.global_status
309+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
306310
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
307311
SET @rowlog_decrypt_2=
308-
(SELECT variable_value FROM information_schema.global_status
312+
(SELECT CAST(variable_value AS INTEGER) FROM information_schema.global_status
309313
WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
310314

311315
SELECT

0 commit comments

Comments
 (0)