[MDEV-12253] Buffer pool blocks are accessed after they have been freed Created: 2017-03-14  Updated: 2019-12-30  Resolved: 2017-05-05

Status: Closed
Project: MariaDB Server
Component/s: Encryption, Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: 10.1
Fix Version/s: 10.1.23, 10.2.6

Type: Bug Priority: Major
Reporter: Jan Lindström (Inactive) Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: 10.2-ga

Issue Links:
PartOf
includes MDEV-11420 encryption.innodb_encryption-page-com... Closed
includes MDEV-11759 Encryption code in MariaDB 10.1/10.2 ... Closed
includes MDEV-12419 IMPORT should not look up tablespace ... Closed
Problem/Incident
causes MDEV-12627 innodb.innodb_bug14147491 does not do... Closed
causes MDEV-12628 innodb.innodb_bug14147491 sporadicall... Closed
Relates
relates to MDEV-4777 innodb_force_recovery is more efficie... Open
relates to MDEV-12602 InnoDB: Failing assertion: space->n_p... Closed
relates to MDEV-12699 Improve crash recovery of corrupted d... Closed
relates to MDEV-12750 Fix crash recovery of key rotation Closed
relates to MDEV-13542 Crashing on a corrupted page is unhel... Closed
relates to MDEV-9962 encryption.innodb_encryption_filekeys... Closed
relates to MDEV-11929 During delete: InnoDB: Assertion fail... Closed
relates to MDEV-12235 sys_vars.log_slow_admin_statements_fu... Closed
relates to MDEV-12396 MariaDB Server SEGV crash when import... Closed
relates to MDEV-13893 encryption.innodb-redo-badkey failed ... Closed
Sprint: 10.2.6-2, 10.2.6-3, 10.1.23

 Description   

bpage could be referenced after it was already freed from LRU. We should remove corrupted or still encrypted pages from LRU as soon as we detect the problem and after that point page should not be anymore referenced.



 Comments   
Comment by Jan Lindström (Inactive) [ 2017-03-15 ]

Note that this patch is mostly same as patch for MDEV-11759 you already reviewed,
I added requested test cases and addressed the code review requests that I could.

https://github.com/MariaDB/server/commit/7545c49061dbc6f748046a159127c1629d373741

Comment by Marko Mäkelä [ 2017-03-16 ]

I think that this is getting better, but I find that the tests need to be improved.

I would not want to block access to a table if a single page in it turns out to be unreadable. That would be adding insult to the injury if a user encounters corruption and wants to rescue as much data as possible. (Even when a decent backup plan is place, users may want to rescue any changes that were made since the last backup.)

I would not add too much distinction between decryption failure and page corruption. The only distinction that I am OK with is when the decryption key cannot be found. (And even that could be because the key_id field is corrupted in the file.)

If it is not feasible to add good tests, then I think that we can omit them from buildbot runs, and only have a report how it was manually tested. Ultimately we would want to fix MySQL Bug#10132 Crashing the server on corrupt InnoDB page is unhelpful, but that is too much work in a GA release.

Comment by Marko Mäkelä [ 2017-03-23 ]

I think that some improvements are needed for both the tests and the code.
Please address my review comments and request a new review.

Comment by Jan Lindström (Inactive) [ 2017-03-24 ]

In my opinion removing dict_table_t::corrupted does not belong on this bug and it is used
in feature https://www.percona.com/doc/perconaserver/5.6/reliability/innodb_corrupt_table_action.html

we can mark variable as deprecated in 10.2 and then remove in 10.3.

How would we know is table encrypted or corrupted in ha_innodb.cc to produce correct error ?

Comment by Marko Mäkelä [ 2017-03-30 ]

In my partial review of the revised patch, I noticed some improvement compared to an earlier revision which I reviewed by email. I would like to see a 10.2 version of the patch as well (preferrably based of a merge of the 10.1 patch).

Please try to push a revised version of the 10.1 patch (and adapted to 10.2) to buildbot so that it has a chance to run over the weekend, and post the commit IDs here.

Comment by Marko Mäkelä [ 2017-03-30 ]

Testing for multiple flags is more expensive than testing for a single catch-all flag whose purpose is to prevent crashes when accessing a potentially unreadable table.

I think that we should just widen the scope of the dict_table_t::corrupted flag to mean ‘corrupted or otherwise unaccessible’. We really do not need 3 flags: ibd_file_missing, corrupted, cannot_decrypt.

With the MariaDB implementation of encryption, it is not possible to fully distinguish corruption and the unability to decrypt tables. I would strongly recommend the following:

if (UNIV_LIKELY(!table->some_problem)) {
  // ok, just access the table
} else if (fil_space_t* space = fil_space_acquire_silent(table->space)) {
  if (space->is_encrypted()) {
    // maybe we cannot access the table due to failing to decrypt
    // NOTE: we could add a flag or counter to fil_space_t for decryption failures
  }
  fil_space_release(space);
} else {
  // the file is missing
}

Comment by Jan Lindström (Inactive) [ 2017-04-04 ]

Commits:

Comment by Marko Mäkelä [ 2017-04-06 ]

I posted some review comments to the 10.1 patch. Most of it is minor, but some nontrivial code changes and test coverage is needed.

Comment by Jan Lindström (Inactive) [ 2017-04-11 ]

After review fixes: https://github.com/MariaDB/server/commit/8d7f6b2d75bb121f8e20fdeacf1127053f40eefe

Comment by Jan Lindström (Inactive) [ 2017-04-11 ]

ASAN:

{noformat]
jan@jan-laptop-asus:~/mysql/10.1-bugs/mysql-test$ ./mtr --vardir=/dev/shm --suite=innodb,encryption,innodb_zip --force --parallel=auto --big-test
Logging: ./mtr --vardir=/dev/shm --suite=innodb,encryption,innodb_zip --force --parallel=auto --big-test
vardir: /dev/shm
Checking leftover processes...
Removing old var directory...
couldn't chmod(0777, /dev/shm): Operation not permitted at /usr/share/perl/5.24/File/Find.pm line 511.
Couldn't remove directory '/dev/shm': Permission denied at /usr/share/perl/5.24/File/Find.pm line 511.
Creating var directory '/dev/shm'...
Checking supported features...
MariaDB Version 10.1.23-MariaDB-debug

  • SSL connections supported
  • binaries are debug compiled
    Using suites: innodb,encryption,innodb_zip
    Collecting tests...
    Installing system database...
    Using parallel: 4

==============================================================================

TEST WORKER RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
worker[2] Using MTR_BUILD_THREAD 301, with reserved ports 16020..16039
worker[4] Using MTR_BUILD_THREAD 302, with reserved ports 16040..16059
worker[3] Using MTR_BUILD_THREAD 303, with reserved ports 16060..16079
encryption.innodb_scrub [ disabled ] MDEV-8139 scrubbing does not work reliably
encryption.innodb_scrub_background [ disabled ] MDEV-8139 scrubbing does not work reliably
encryption.innodb_encryption-page-compression 'innodb_plugin' w4 [ pass ] 6737
encryption.innodb_encryption-page-compression 'xtradb' w4 [ pass ] 6961
encryption.innodb_encryption_tables 'innodb_plugin' w3 [ pass ] 40079
encryption.innodb_encryption 'innodb_plugin' w1 [ pass ] 42330
encryption.innodb_encryption 'xtradb' w2 [ pass ] 46496
innodb.innodb_bug53674 'innodb_plugin' w2 [ pass ] 58
innodb.innodb_bug53674 'xtradb' w2 [ pass ] 27
encryption.tempfiles 'cbc,xtradb' w2 [ pass ] 317
innodb.innodb 'innodb_plugin' w3 [ pass ] 18347
innodb.innodb 'xtradb' w1 [ pass ] 16337
encryption.tempfiles 'ctr,xtradb' w2 [ pass ] 375
innodb.snapshot 'innodb_plugin' w3 [ pass ] 42
innodb.snapshot 'xtradb' w1 [ pass ] 41
encryption.innodb_encryption_tables 'xtradb' w4 [ pass ] 49115
innodb.group_commit_binlog_pos_no_optimize_thread 'innodb_plugin' w2 [ pass ] 2528
innodb.group_commit_no_optimize_thread 'innodb_plugin' w1 [ pass ] 56
innodb.group_commit_binlog_pos_no_optimize_thread 'xtradb' w4 [ pass ] 2662
innodb.group_commit_no_optimize_thread 'xtradb' w1 [ pass ] 47
innodb.innodb-flush-changed-page-bitmaps 'xtradb' w4 [ pass ] 12
innodb.innodb_ctype_ldml 'innodb_plugin' w1 [ pass ] 971
innodb.innodb_ctype_ldml 'xtradb' w4 [ pass ] 1086
innodb.group_commit_crash_no_optimize_thread 'innodb_plugin' w3 [ pass ] 14997
innodb.group_commit_crash_no_optimize_thread 'xtradb' w2 [ pass ] 15657
innodb.innodb-autoinc-44030 'innodb_plugin' w4 [ pass ] 3784
innodb.innodb-autoinc 'innodb_plugin' w1 [ pass ] 13072
innodb.innodb-autoinc-44030 'xtradb' w4 [ pass ] 5270
encryption.innodb-page_encryption-32k 'cbc,innodb_plugin' w4 [ skipped ] Test requires InnoDB with 32k Page size.
encryption.innodb-page_encryption-32k 'cbc,xtradb' w4 [ skipped ] Test requires InnoDB with 32k Page size.
innodb.innodb-autoinc 'xtradb' w2 [ pass ] 16785
encryption.innodb-page_encryption-32k 'ctr,innodb_plugin' w4 [ skipped ] Test requires InnoDB with 32k Page size.
encryption.innodb-page_encryption-32k 'ctr,xtradb' w2 [ skipped ] Test requires InnoDB with 32k Page size.
innodb.innodb-32k 'innodb_plugin' w4 [ skipped ] Test requires InnoDB with 32k Page size.
innodb.innodb-32k-crash 'innodb_plugin' w4 [ skipped ] Test requires InnoDB with 32k Page size.
innodb.innodb-64k 'innodb_plugin' w4 [ skipped ] Test requires InnoDB with 64k Page size.
innodb.innodb-64k-crash 'innodb_plugin' w4 [ skipped ] Test requires InnoDB with 64k Page size.
innodb.innodb-32k 'xtradb' w4 [ skipped ] Test requires InnoDB with 32k Page size.
innodb.innodb-32k-crash 'xtradb' w4 [ skipped ] Test requires InnoDB with 32k Page size.
innodb.innodb-64k 'xtradb' w4 [ skipped ] Test requires InnoDB with 64k Page size.
innodb.innodb-64k-crash 'xtradb' w4 [ skipped ] Test requires InnoDB with 64k Page size.
innodb.innodb-16k 'innodb_plugin' w2 [ pass ] 13729
encryption.innodb-log-encrypt-crash 'innodb_plugin' w2 [ skipped ] Does not run with debug binaries
innodb.innodb-16k 'xtradb' w4 [ pass ] 12581
innodb.innodb_mysql 'innodb_plugin' w3 [ pass ] 66930
encryption.innodb-redo-nokeys 'cbc,innodb_plugin' w4 [ pass ] 10575
encryption.innodb-redo-badkey 'cbc,innodb_plugin' w2 [ pass ] 17587
encryption.innodb-key-rotation-disable 'cbc,innodb_plugin' w3 [ pass ] 4191
encryption.innodb_first_page 'cbc,innodb_plugin' w4 [ pass ] 7075
encryption.innodb-log-encrypt 'innodb_plugin' w2 [ pass ] 4510
innodb.innodb_mysql 'xtradb' w1 [ pass ] 66884
encryption.innodb-read-only 'cbc,innodb_plugin' w1 [ pass ] 9778
encryption.innodb-page_encryption_log_encryption 'cbc,innodb_plugin' w4 [ pass ] 15806
encryption.innodb-missing-key 'cbc,innodb_plugin' w2 [ pass ] 17637
encryption.innodb_encryption_row_compressed 'cbc,innodb_plugin' w1 [ pass ] 8025
encryption.innodb_encryption_is 'cbc,innodb_plugin' w1 [ pass ] 64
encryption.encrypt_and_grep 'cbc,innodb_plugin' w3 [ pass ] 30450
encryption.innodb-compressed-blob 'cbc,innodb_plugin' w4 [ pass ] 12562
encryption.innodb-log-encrypt-crash 'xtradb' w4 [ skipped ] Does not run with debug binaries
encryption.innochecksum 'cbc,innodb_plugin' w1 [ pass ] 12657
encryption.innodb_onlinealter_encryption 'cbc,innodb_plugin' w3 [ pass ] 21391
encryption.innodb-redo-badkey 'cbc,xtradb' w4 [ pass ] 19654
encryption.innodb-redo-nokeys 'cbc,xtradb' w3 [ pass ] 13772
encryption.innodb-bad-key-change 'cbc,innodb_plugin' w1 [ pass ] 24960
encryption.innodb-key-rotation-disable 'cbc,xtradb' w4 [ pass ] 5622
encryption.innodb-discard-import 'cbc,innodb_plugin' w1 [ pass ] 3651
encryption.innodb-discard-import-change 'cbc,innodb_plugin' w1 [ pass ] 981
encryption.innodb-log-encrypt 'xtradb' w4 [ pass ] 4203
encryption.innodb_first_page 'cbc,xtradb' w3 [ pass ] 8406
encryption.innodb-encr-threads 'cbc,innodb_plugin' w1 [ pass ] 16
encryption.innodb-page_encryption_log_encryption 'cbc,xtradb' w3 [ pass ] 18709
encryption.innodb-encryption-alter 'cbc,innodb_plugin' w1 [ pass ] 27336
encryption.encrypt_and_grep 'cbc,xtradb' w4 [ pass ] 33303
encryption.innodb-force-corrupt 'cbc,innodb_plugin' w1 [ pass ] 8503
encryption.create_or_replace 'cbc,innodb_plugin' w2 [ pass ] 96913
encryption.innodb-missing-key 'cbc,xtradb' w3 [ pass ] 22056
encryption.innodb_onlinealter_encryption 'cbc,xtradb' w4 [ pass ] 18940
encryption.innodb_encryption_filekeys 'cbc,innodb_plugin' w2 [ pass ] 21325
encryption.innodb-read-only 'cbc,xtradb' w3 [ pass ] 10780
encryption.innodb_encryption_row_compressed 'cbc,xtradb' w4 [ pass ] 10449
encryption.innodb_encryption_is 'cbc,xtradb' w4 [ pass ] 86
encryption.innodb-compressed-blob 'cbc,xtradb' w2 [ pass ] 16170
encryption.aria_tiny 'cbc' w2 [ pass ] 28
encryption.innochecksum 'cbc,xtradb' w4 [ pass ] 14817
encryption.innodb-redo-badkey 'ctr,innodb_plugin' w2 [ pass ] 19658
encryption.innodb-page_encryption 'cbc,innodb_plugin' w1 [ pass ] 72872
encryption.innodb-page_encryption_compression 'cbc,innodb_plugin' w1 [ pass ] 9742
encryption.innodb-redo-nokeys 'ctr,innodb_plugin' w2 [ pass ] 11850
encryption.innodb-bad-key-change 'cbc,xtradb' w4 [ pass ] 31021
encryption.innodb-key-rotation-disable 'ctr,innodb_plugin' w2 [ pass ] 4252
encryption.innodb_page_encryption_key_change 'cbc,innodb_plugin' w1 [ pass ] 8045
encryption.innodb-discard-import 'cbc,xtradb' w4 [ pass ] 3250
encryption.innodb-discard-import-change 'cbc,xtradb' w4 [ pass ] 1232
encryption.innodb_first_page 'ctr,innodb_plugin' w2 [ pass ] 6737
encryption.innodb-encr-threads 'cbc,xtradb' w4 [ pass ] 18
encryption.innodb-page_encryption_log_encryption 'ctr,innodb_plugin' w2 [ pass ] 18899
encryption.create_or_replace 'cbc,xtradb' w3 [ pass ] 102121
encryption.encrypt_and_grep 'ctr,innodb_plugin' w1 [ pass ] 30891
encryption.innodb-encryption-alter 'cbc,xtradb' w4 [ pass ] 32057
encryption.innodb-force-corrupt 'cbc,xtradb' w4 [ pass ] 10406
encryption.innodb-missing-key 'ctr,innodb_plugin' w2 [ pass ] 19499
encryption.innodb_onlinealter_encryption 'ctr,innodb_plugin' w1 [ pass ] 17617
encryption.innodb_encryption_filekeys 'cbc,xtradb' w3 [ pass ] 20352
encryption.innodb_encryption_row_compressed 'ctr,innodb_plugin' w1 [ pass ] 8251
encryption.innodb-read-only 'ctr,innodb_plugin' w2 [ pass ] 10027
encryption.innodb_encryption_is 'ctr,innodb_plugin' w2 [ pass ] 112
encryption.innodb-compressed-blob 'ctr,innodb_plugin' w3 [ pass ] 12662
encryption.innochecksum 'ctr,innodb_plugin' w2 [ pass ] 11182
encryption.innodb-redo-badkey 'ctr,xtradb' w3 [ pass ] 20773
encryption.innodb-bad-key-change 'ctr,innodb_plugin' w2 [ pass ] 26325
encryption.innodb-redo-nokeys 'ctr,xtradb' w3 [ pass ] 14500
encryption.innodb-discard-import 'ctr,innodb_plugin' w2 [ pass ] 6117
encryption.innodb-discard-import-change 'ctr,innodb_plugin' w2 [ pass ] 1803
encryption.innodb-encr-threads 'ctr,innodb_plugin' w2 [ pass ] 28
encryption.innodb-key-rotation-disable 'ctr,xtradb' w3 [ pass ] 5820
encryption.innodb-page_encryption 'cbc,xtradb' w4 [ pass ] 77908
encryption.innodb-page_encryption_compression 'cbc,xtradb' w4 [ pass ] 9873
encryption.innodb_first_page 'ctr,xtradb' w3 [ pass ] 8776
encryption.innodb_page_encryption_key_change 'cbc,xtradb' w4 [ pass ] 10339
encryption.innodb-encryption-alter 'ctr,innodb_plugin' w2 [ pass ] 27060
encryption.create_or_replace 'ctr,innodb_plugin' w1 [ pass ] 96862
encryption.innodb-force-corrupt 'ctr,innodb_plugin' w2 [ pass ] 8401
encryption.innodb-page_encryption_log_encryption 'ctr,xtradb' w4 [ pass ] 18931
encryption.encrypt_and_grep 'ctr,xtradb' w3 [ pass ] 33399
encryption.innodb_encryption_filekeys 'ctr,innodb_plugin' w1 [ pass ] 21422
encryption.innodb_onlinealter_encryption 'ctr,xtradb' w3 [ pass ] 19224
encryption.innodb-read-only 'ctr,xtradb' w1 [ pass ] 11004
encryption.innodb-missing-key 'ctr,xtradb' w4 [ pass ] 21721
encryption.innodb_encryption_row_compressed 'ctr,xtradb' w3 [ pass ] 10717
encryption.innodb-compressed-blob 'ctr,xtradb' w1 [ pass ] 15463
encryption.innodb_encryption_is 'ctr,xtradb' w3 [ pass ] 61
encryption.aria_tiny 'ctr' w3 [ pass ] 30
innodb_zip.innodb_cmp_drop_table 'innodb_plugin' w3 [ pass ] 3479
encryption.innodb-page_encryption 'ctr,innodb_plugin' w2 [ pass ] 71718
encryption.innochecksum 'ctr,xtradb' w1 [ pass ] 14440
innodb.log_data_file_size 'innodb_plugin' w3 [ pass ] 3165
encryption.innodb-page_encryption_compression 'ctr,innodb_plugin' w2 [ pass ] 10971
encryption.innodb_page_encryption_key_change 'ctr,innodb_plugin' w2 [ pass ] 8577
encryption.innodb-bad-key-change 'ctr,xtradb' w1 [ pass ] 30953
encryption.innodb-discard-import 'ctr,xtradb' w1 [ pass ] 4174
encryption.innodb-discard-import-change 'ctr,xtradb' w1 [ pass ] 1239
encryption.innodb-encr-threads 'ctr,xtradb' w1 [ pass ] 32
innodb.innodb_defragment 'innodb_plugin' w3 [ pass ] 48443
innodb.innodb_defrag_concurrent 'innodb_plugin' w2 [ pass ] 38742
encryption.create_or_replace 'ctr,xtradb' w4 [ pass ] 98883
innodb.innodb_defrag_stats 'innodb_plugin' w3 [ pass ] 19044
innodb.innodb_defragment_fill_factor 'innodb_plugin' w2 [ pass ] 14603
encryption.innodb-encryption-alter 'ctr,xtradb' w1 [ pass ] 34425
encryption.innodb_encryption_filekeys 'ctr,xtradb' w4 [ pass ] 19795
encryption.innodb-force-corrupt 'ctr,xtradb' w1 [ pass ] 10105
encryption.innodb-bad-key-change4 'innodb_plugin' w2 [ pass ] 11406
encryption.encryption_force 'innodb_plugin' w4 [ pass ] 110
encryption.debug_key_management 'innodb_plugin' w4 [ pass ] 4792
innodb.innodb_defrag_stats_many_tables 'innodb_plugin' w3 [ pass ] 43962
innodb.innodb_corrupt_bit 'innodb_plugin' w3 [ pass ] 209
innodb.innodb_sys_semaphore_waits 'innodb_plugin' w3 [ pass ] 16414
encryption.innodb_encryption_discard_import 'innodb_plugin' w2 [ pass ] 55259
innodb.innodb_simulate_comp_failures_small 'innodb_plugin' w2 [ pass ] 3803
encryption.innodb-page_encryption 'ctr,xtradb' w1 [ pass ] 74629
innodb.innodb_simulate_comp_failures 'innodb_plugin' w3 [ pass ] 28806
encryption.innodb-page_encryption_compression 'ctr,xtradb' w1 [ pass ] 10704
innodb.innodb_mutexes 'innodb_plugin' w3 [ pass ] 8141
innodb.innodb_bug14676111 'innodb_plugin' w3 [ pass ] 75
encryption.innodb_page_encryption_key_change 'ctr,xtradb' w1 [ pass ] 10512
innodb.innodb_bug12400341 'innodb_plugin' w1 [ pass ] 870
innodb.innochecksum 'innodb_plugin' w3 [ pass ] 8310
innodb.create_isl_with_direct 'innodb_plugin' w3 [ pass ] 27
innodb.innodb_force_pk 'innodb_plugin' w3 [ pass ] 82
innodb.innodb-mdev-7408 'innodb_plugin' w3 [ pass ] 42
innodb.innodb_bug14147491 'innodb_plugin' w1 [ pass ] 14754
innodb.group_commit_binlog_pos 'innodb_plugin' w3 [ pass ] 2690
innodb.binlog_consistent 'innodb_plugin' w1 [ pass ] 167
innodb.group_commit 'innodb_plugin' w1 [ pass ] 64
innodb.innodb-bigblob 'innodb_plugin' w2 [ pass ] 68672
innodb.group_commit_crash 'innodb_plugin' w3 [ pass ] 16110
innodb.innodb_bug30919 'innodb_plugin' w2 [ pass ] 7899
innodb.innodb-mdev7046 'innodb_plugin' w3 [ pass ] 322
innodb.insert_debug 'innodb_plugin' w3 [ pass ] 203
innodb.multi_repair-7404 'innodb_plugin' w3 [ pass ] 180
innodb.innodb_autoinc_lock_mode_zero 'innodb_plugin' w2 [ pass ] 72
innodb.innodb_information_schema_buffer 'innodb_plugin' w3 [ pass ] 508
innodb.innodb_bug42101-nonzero 'innodb_plugin' w2 [ pass ] 10
encryption.innodb_lotoftables 'innodb_plugin' w4 [ pass ] 146835
innodb.innodb_bug39438 'innodb_plugin' w2 [ pass ] 21
innodb.innodb_bug60049 'innodb_plugin' w3 [ pass ] 4262
innodb.data_types 'innodb_plugin' w2 [ pass ] 49
innodb.innodb-stats-modified-counter 'innodb_plugin' w3 [ pass ] 34
innodb.innodb_information_schema_tables 'innodb_plugin' w2 [ pass ] 295
innodb.innodb-autoinc-56228 'innodb_plugin' w3 [ pass ] 61
innodb.innodb-lock-schedule-algorithm 'innodb_plugin' w4 [ pass ] 11301
innodb.innodb_mysql_rbk 'innodb_plugin' w2 [ pass ] 3621
innodb.innodb-consistent 'innodb_plugin' w2 [ pass ] 50
innodb.innodb_timeout_rollback 'innodb_plugin' w4 [ pass ] 3589
innodb.innodb-change-buffer-recovery 'innodb_plugin' w1 [ pass ] 51254
innodb.innodb_bug60196 'innodb_plugin' w1 [ skipped ] Test requires: 'lowercase2'
innodb.defrag_mdl-9155 'innodb_plugin' w4 [ pass ] 1780
innodb.innodb-semi-consistent 'innodb_plugin' w2 [ pass ] 12175
innodb.innodb_lock_wait_timeout_1 'innodb_plugin' w3 [ pass ] 17593
innodb.innodb_bug53756 'innodb_plugin' w1 [ pass ] 2555
innodb.innodb_bug51378 'innodb_plugin' w2 [ pass ] 179
innodb.innodb_bug51920 'innodb_plugin' w2 [ pass ] 31
innodb.innodb_bug52199 'innodb_plugin' w2 [ pass ] 42
innodb_zip.innodb_cmp_drop_table 'xtradb' w1 [ pass ] 3852
innodb.log_data_file_size 'xtradb' w1 [ pass ] 2849
innodb.innodb-wl5522-debug 'innodb_plugin' w4 [ pass ] 17190
innodb.sp_temp_table 'innodb_plugin' w4 [ pass ] 30147
innodb_zip.innodb_prefix_index_liftedlimit 'innodb_plugin' w4 [ pass ] 1756
innodb.innodb_bug52663 'innodb_plugin' w2 [ pass ] 50877
innodb.innodb_bug53046 'innodb_plugin' w2 [ pass ] 58
innodb.innodb_defragment 'xtradb' w1 [ pass ] 40899
encryption.innodb-bad-key-change2 'innodb_plugin' w4 [ pass ] 28798
innodb.innodb_bug53290 'innodb_plugin' w2 [ pass ] 24416
innodb.innodb_bug53592 'innodb_plugin' w2 [ pass ] 340
innodb.innodb_bug54044 'innodb_plugin' w2 [ pass ] 54
innodb.innodb_bug56143 'innodb_plugin' w2 [ pass ] 2449
innodb.innodb_bug56716 'innodb_plugin' w2 [ pass ] 24
innodb.innodb_bug56947 'innodb_plugin' w2 [ pass ] 38
innodb.innodb_bug57252 'innodb_plugin' w2 [ pass ] 33
innodb.innodb_bug57255 'innodb_plugin' w2 [ pass ] 908
innodb.innodb_bug57904 'innodb_plugin' w2 [ pass ] 59
innodb.innodb_bug59410 'innodb_plugin' w2 [ pass ] 47
innodb.innodb_bug59641 'innodb_plugin' w2 [ pass ] 7039
innodb.innodb_bug59733 'innodb_plugin' w2 [ pass ] 821
innodb.innodb_bug60229 'innodb_plugin' w2 [ pass ] 63
encryption.innodb-bad-key-change3 'innodb_plugin' w4 [ pass ] 22360
innodb.innodb_defrag_concurrent 'xtradb' w1 [ pass ] 41957
innodb.innodb_bug68148 'innodb_plugin' w2 [ pass ] 4050
innodb.innodb_file_format 'innodb_plugin' w2 [ pass ] 2986
innodb.innodb_gis 'innodb_plugin' w2 [ pass ] 275
innodb.innodb_information_schema 'innodb_plugin' w2 [ pass ] 421
innodb.innodb_monitor 'innodb_plugin' w2 [ pass ] 166
innodb.innodb_multi_update 'innodb_plugin' w2 [ pass ] 51
innodb.innodb_notembedded 'innodb_plugin' w2 [ pass ] 225
encryption.innodb-encryption-disable 'innodb_plugin' w4 [ pass ] 11862
innodb.innodb_defragment_fill_factor 'xtradb' w1 [ pass ] 14002
innodb.innodb_prefix_index_restart_server 'innodb_plugin' w2 [ pass ] 11314
innodb.innodb_stats 'innodb_plugin' w2 [ pass ] 271
innodb.innodb_stats_create_on_corrupted 'innodb_plugin' w2 [ pass ] 3900
innodb.innodb_stats_create_table 'innodb_plugin' w2 [ pass ] 63
innodb.innodb_uninstall w3 [ pass ] 127108
innodb.101_compatibility 'innodb_plugin' w4 [ pass ] 9233
innodb.add_constraint 'innodb_plugin' w4 [ pass ] 154
innodb.alter_key_block_size-11757 'innodb_plugin' w4 [ pass ] 88
innodb.auto_increment_dup 'innodb_plugin' w4 [ pass ] 44
innodb.innodb_stats_drop_locked 'innodb_plugin' w2 [ pass ] 1704
innodb.blob-update-debug 'innodb_plugin' w4 [ pass ] 46
innodb.innodb_stats_fetch 'innodb_plugin' w2 [ pass ] 92
innodb.blob_unique2pk 'innodb_plugin' w4 [ pass ] 186
encryption.innodb-bad-key-change4 'xtradb' w1 [ pass ] 13917
innodb.count_distinct 'innodb_plugin' w4 [ pass ] 27
innodb.create-index 'innodb_plugin' w4 [ pass ] 27
innodb.innodb_stats_fetch_corrupted 'innodb_plugin' w2 [ pass ] 4057
innodb.innodb_stats_fetch_nonexistent 'innodb_plugin' w2 [ pass ] 39
encryption.encryption_force 'xtradb' w1 [ pass ] 133
innodb.innodb_stats_rename_table 'innodb_plugin' w2 [ pass ] 28
innodb.innodb_stats_rename_table_if_exists 'innodb_plugin' w2 [ pass ] 438
innodb.innodb_trx_weight 'innodb_plugin' w2 [ pass ] 707
innodb.innodb_defrag_stats 'xtradb' w3 [ pass ] 20112
innodb.doublewrite 'innodb_plugin' w4 [ pass ] 25524
innodb.dropdb 'innodb_plugin' w4 [ pass ] 7
innodb.foreign-keys 'innodb_plugin' w4 [ pass ] 252
innodb.help_url 'innodb_plugin' w4 [ pass ] 20
innodb.innodb-agregate 'innodb_plugin' w4 [ pass ] 36
innodb.innodb-alter-discard 'innodb_plugin' w4 [ pass ] 4204
innodb.innodb-alter-table 'innodb_plugin' w4 [ pass ] 8479
innodb.log_file_size 'innodb_plugin' w2 [ pass ] 40914
innodb.mdev-117 'innodb_plugin' w2 [ pass ] 23
innodb.innodb-alter-tempfile 'innodb_plugin' w4 [ pass ] 7276
innodb.innodb-alter-timestamp 'innodb_plugin' w4 [ pass ] 46
innodb.innodb-analyze 'innodb_plugin' w4 [ pass ] 40
innodb.innodb-autoinc-18274 'innodb_plugin' w4 [ pass ] 28
innodb.innodb-autoinc-61209 'innodb_plugin' w4 [ pass ] 19
innodb.innodb-autoinc-optimize 'innodb_plugin' w4 [ pass ] 34
innodb.read_only_recovery 'innodb_plugin' w2 [ pass ] 9518
innodb.row_lock 'innodb_plugin' w2 [ pass ] 210
innodb.innodb_defrag_stats_many_tables 'xtradb' w3 [ pass ] 40741
innodb.strict_mode 'innodb_plugin' w2 [ pass ] 282
encryption.innodb_encryption_discard_import 'xtradb' w1 [ pass ] 53664
innodb.innodb-blob 'innodb_plugin' w4 [ pass ] 7873
innodb.innodb-bug-14068765 'innodb_plugin' w4 [ pass ] 243
innodb.innodb-bug-14084530 'innodb_plugin' w4 [ pass ] 159
innodb.system_tables 'innodb_plugin' w2 [ pass ] 3008
innodb.table_index_statistics 'innodb_plugin' w2 [ pass ] 92
innodb.tmpdir 'innodb_plugin' w2 [ pass ] 398
innodb.trigger 'innodb_plugin' w2 [ pass ] 68
innodb.innodb-corrupted-table 'innodb_plugin' w4 [ pass ] 4065
encryption.debug_key_management 'xtradb' w3 [ pass ] 4725
innodb.innodb-dict 'innodb_plugin' w4 [ pass ] 384
innodb.innodb_corrupt_bit 'xtradb' w3 [ pass ] 124
innodb.xa_recovery 'innodb_plugin' w2 [ pass ] 7905
innodb_zip.innodb-create-options 'innodb_plugin' w2 [ pass ] 3304
innodb_zip.innodb-zip 'innodb_plugin' w2 [ pass ] 1647
innodb_zip.innodb_bug36169 'innodb_plugin' w2 [ pass ] 492
innodb_zip.innodb_bug36172 'innodb_plugin' w2 [ pass ] 286
innodb.innodb-fk 'innodb_plugin' w4 [ pass ] 13315
innodb_zip.innodb_bug52745 'innodb_plugin' w2 [ pass ] 74
innodb.innodb-fk-warnings 'innodb_plugin' w4 [ pass ] 449
innodb_zip.innodb_bug53591 'innodb_plugin' w2 [ pass ] 37
innodb.innodb-fkcheck 'innodb_plugin' w4 [ pass ] 168
innodb_zip.innodb_bug56680 'innodb_plugin' w2 [ pass ] 3432
innodb_zip.innodb_index_large_prefix 'innodb_plugin' w2 [ pass ] 1078
innodb.innodb_sys_semaphore_waits 'xtradb' w3 [ pass ] 16783
innodb.innodb-get-fk 'innodb_plugin' w4 [ pass ] 14222
innodb.innodb-index 'innodb_plugin' w4 [ pass ] 3203
innodb.innodb-index_ucs2 'innodb_plugin' w4 [ pass ] 125
innodb.innodb_simulate_comp_failures_small 'xtradb' w3 [ pass ] 5045
innodb.innodb-lock 'innodb_plugin' w4 [ pass ] 2095
innodb.innodb-mdev-7513 'innodb_plugin' w4 [ pass ] 4289
innodb.innodb_simulate_comp_failures 'xtradb' w2 [ pass ] 33188
innodb.innodb_mutexes 'xtradb' w2 [ pass ] 11106
innodb.innodb_bug14676111 'xtradb' w2 [ pass ] 130
innodb.innochecksum 'xtradb' w2 [ pass ] 10559
innodb.innodb_bug12400341 'xtradb' w2 [ pass ] 1141
innodb.innodb-bigblob 'xtradb' w3 [ pass ] 76827
innodb.create_isl_with_direct 'xtradb' w3 [ pass ] 35
innodb.innodb_bug14147491 'xtradb' w2 [ pass ] 17031
innodb.innodb-page_compression_bzip2 'innodb_plugin' w4 [ pass ] 81072
innodb.innodb_force_pk 'xtradb' w3 [ pass ] 59
innodb.innodb-page_compression_default 'innodb_plugin' w4 [ pass ] 2576
innodb.innodb-mdev-7408 'xtradb' w2 [ pass ] 70
innodb.binlog_consistent 'xtradb' w2 [ pass ] 182
innodb.group_commit_binlog_pos 'xtradb' w3 [ pass ] 2581
innodb.group_commit 'xtradb' w3 [ pass ] 69
encryption.innodb_lotoftables 'xtradb' w1 [ pass ] 153670
innodb.group_commit_crash 'xtradb' w2 [ pass ] 15695
innodb.innodb-mdev7046 'xtradb' w2 [ pass ] 403
innodb.insert_debug 'xtradb' w2 [ pass ] 464
innodb.multi_repair-7404 'xtradb' w2 [ pass ] 216
innodb.innodb_bug30919 'xtradb' w1 [ pass ] 13152
innodb.innodb_autoinc_lock_mode_zero 'xtradb' w2 [ pass ] 51
innodb.innodb_information_schema_buffer 'xtradb' w1 [ pass ] 590
innodb.innodb_bug42101-nonzero 'xtradb' w2 [ pass ] 10
innodb.innodb_bug39438 'xtradb' w2 [ pass ] 22
innodb.innodb_bug60049 'xtradb' w1 [ pass ] 5373
innodb.data_types 'xtradb' w1 [ pass ] 69
innodb.innodb-stats-modified-counter 'xtradb' w1 [ pass ] 59
innodb.innodb-lock-schedule-algorithm 'xtradb' w2 [ pass ] 12484
innodb.innodb_information_schema_tables 'xtradb' w1 [ pass ] 293
innodb.innodb-autoinc-56228 'xtradb' w2 [ pass ] 53
innodb.innodb-page_compression_lz4 'innodb_plugin' w4 [ pass ] 80843
innodb.innodb-change-buffer-recovery 'xtradb' w3 [ pass ] 65310
innodb.innodb_mysql_rbk 'xtradb' w1 [ pass ] 4367
innodb.innodb-consistent 'xtradb' w1 [ pass ] 51
innodb.innodb_timeout_rollback 'xtradb' w3 [ pass ] 2656
innodb.defrag_mdl-9155 'xtradb' w3 [ pass ] 1699
innodb.innodb_lock_wait_timeout_1 'xtradb' w2 [ pass ] 17678
innodb.innodb-semi-consistent 'xtradb' w1 [ pass ] 12038
innodb.innodb_bug60196 'xtradb' w3 [ skipped ] Test requires: 'lowercase2'
innodb.innodb_bug53756 'xtradb' w2 [ pass ] 3042
innodb.innodb_bug35220 'xtradb' w2 [ pass ] 42
innodb.innodb_bug38231 'xtradb' w2 [ pass ] 62
innodb.innodb_bug40360 'xtradb' w2 [ pass ] 39
innodb.innodb_bug40565 'xtradb' w2 [ pass ] 28
innodb.innodb_bug41904 'xtradb' w2 [ pass ] 35
innodb.innodb_bug42101 'xtradb' w2 [ pass ] 9
innodb.innodb_bug42419 'xtradb' w2 [ pass ] 344
innodb.innodb_bug44032 'xtradb' w2 [ pass ] 65
innodb.innodb_bug44369 'xtradb' w2 [ pass ] 16
innodb.innodb_bug44571 'xtradb' w2 [ pass ] 95
innodb.innodb_bug45357 'xtradb' w2 [ pass ] 94
innodb.innodb_bug46000 'xtradb' w2 [ pass ] 55
innodb.innodb_bug46676 'xtradb' w2 [ pass ] 221
innodb.innodb_bug47167 'xtradb' w2 [ pass ] 5080
innodb.innodb_bug47621 'xtradb' w2 [ pass ] 141
innodb.innodb_bug47622 'xtradb' w2 [ pass ] 126
innodb.innodb_bug47777 'xtradb' w2 [ pass ] 30
innodb.innodb_bug48024 'xtradb' w2 [ pass ] 157
innodb.innodb_bug49164 'xtradb' w2 [ pass ] 60
innodb.innodb_bug51378 'xtradb' w2 [ pass ] 254
innodb.innodb-wl5522-debug 'xtradb' w1 [ pass ] 33274
innodb.innodb_bug51920 'xtradb' w2 [ pass ] 164
innodb.innodb_bug52199 'xtradb' w2 [ pass ] 58
innodb.innodb-page_compression_lzma 'innodb_plugin' w4 [ pass ] 87147
innodb.sp_temp_table 'xtradb' w1 [ pass ] 30336
innodb_zip.innodb_prefix_index_liftedlimit 'xtradb' w1 [ pass ] 4711
innodb.innodb_bug52663 'xtradb' w2 [ pass ] 51562
innodb.innodb_bug53046 'xtradb' w2 [ pass ] 117
innodb.innodb-page_compression_lz4 'xtradb' w3 [ pass ] 88724
encryption.innodb-bad-key-change2 'xtradb' w1 [ pass ] 38646
innodb.innodb_bug53290 'xtradb' w2 [ pass ] 25075
innodb.innodb_bug53592 'xtradb' w2 [ pass ] 316
innodb.innodb_bug54044 'xtradb' w2 [ pass ] 65
innodb.innodb_bug56143 'xtradb' w2 [ pass ] 2809
innodb.innodb_bug56716 'xtradb' w2 [ pass ] 42
innodb.innodb_bug56947 'xtradb' w2 [ pass ] 50
innodb.innodb_bug57252 'xtradb' w2 [ pass ] 49
innodb.innodb_bug57255 'xtradb' w2 [ pass ] 934
innodb.innodb_bug57904 'xtradb' w2 [ pass ] 71
innodb.innodb_bug59410 'xtradb' w2 [ pass ] 41
innodb.innodb-page_compression_lzo 'innodb_plugin' w4 [ pass ] 66746
innodb.innodb_bug59641 'xtradb' w2 [ pass ] 8613
encryption.innodb-bad-key-change3 'xtradb' w1 [ pass ] 27477
innodb.innodb_bug59733 'xtradb' w2 [ pass ] 1041
innodb.innodb_bug60229 'xtradb' w2 [ pass ] 62
innodb.innodb_bug68148 'xtradb' w2 [ pass ] 4439
innodb.innodb_file_format 'xtradb' w2 [ pass ] 4742
innodb.innodb_gis 'xtradb' w2 [ pass ] 673
innodb.innodb_information_schema 'xtradb' w2 [ pass ] 719
innodb.innodb_monitor 'xtradb' w2 [ pass ] 497
innodb.innodb_multi_update 'xtradb' w2 [ pass ] 96
innodb.innodb_notembedded 'xtradb' w2 [ pass ] 266
encryption.innodb-encryption-disable 'xtradb' w1 [ pass ] 16044
innodb.innodb_prefix_index_restart_server 'xtradb' w2 [ pass ] 15814
innodb.innodb_stats 'xtradb' w2 [ pass ] 711
innodb.101_compatibility 'xtradb' w1 [ pass ] 12605
innodb.add_constraint 'xtradb' w1 [ pass ] 297
innodb.alter_key_block_size-11757 'xtradb' w1 [ pass ] 200
innodb.auto_increment_dup 'xtradb' w1 [ pass ] 78
innodb.blob-update-debug 'xtradb' w1 [ pass ] 58
innodb.blob_unique2pk 'xtradb' w1 [ pass ] 130
innodb.innodb_stats_create_on_corrupted 'xtradb' w2 [ pass ] 5516
innodb.count_distinct 'xtradb' w1 [ pass ] 36
innodb.create-index 'xtradb' w1 [ pass ] 34
innodb.innodb_stats_create_table 'xtradb' w2 [ pass ] 141
innodb.innodb_stats_drop_locked 'xtradb' w2 [ pass ] 1571
innodb.innodb_stats_fetch 'xtradb' w2 [ pass ] 59
innodb.innodb_stats_fetch_corrupted 'xtradb' w2 [ pass ] 5288
innodb.innodb_stats_fetch_nonexistent 'xtradb' w2 [ pass ] 81
innodb.innodb_stats_rename_table 'xtradb' w2 [ pass ] 66
innodb.innodb_stats_rename_table_if_exists 'xtradb' w2 [ pass ] 489
innodb.innodb_trx_weight 'xtradb' w2 [ pass ] 1686
innodb.innodb-page_compression_lzma 'xtradb' w3 [ pass ] 112868
innodb.doublewrite 'xtradb' w1 [ pass ] 27865
innodb.dropdb 'xtradb' w1 [ pass ] 7
innodb.foreign-keys 'xtradb' w1 [ pass ] 196
innodb.help_url 'xtradb' w1 [ pass ] 27
innodb.innodb-agregate 'xtradb' w1 [ pass ] 59
innodb.innodb-page_compression_snappy 'innodb_plugin' w4 [ pass ] 88569
innodb.innodb-alter-discard 'xtradb' w1 [ pass ] 5461
innodb.innodb-alter-table 'xtradb' w1 [ pass ] 10800
innodb.innodb-page_compression_tables 'innodb_plugin' w4 [ pass ] 19912
innodb.log_file_size 'xtradb' w2 [ pass ] 44445
innodb.innodb-alter-tempfile 'xtradb' w1 [ pass ] 9858
innodb.mdev-117 'xtradb' w2 [ pass ] 76
innodb.innodb-alter-timestamp 'xtradb' w1 [ pass ] 160
innodb.innodb-analyze 'xtradb' w1 [ pass ] 95
innodb.innodb-autoinc-18274 'xtradb' w1 [ pass ] 72
innodb.innodb-autoinc-61209 'xtradb' w1 [ pass ] 58
innodb.innodb-autoinc-optimize 'xtradb' w1 [ pass ] 71
innodb.read_only_recovery 'xtradb' w2 [ pass ] 11800
innodb.row_lock 'xtradb' w2 [ pass ] 91
innodb.strict_mode 'xtradb' w2 [ pass ] 210
innodb.innodb-blob 'xtradb' w1 [ pass ] 8669
innodb.innodb-bug-14068765 'xtradb' w1 [ pass ] 323
innodb.innodb-bug-14084530 'xtradb' w1 [ pass ] 263
innodb.system_tables 'xtradb' w2 [ pass ] 5340
innodb.table_index_statistics 'xtradb' w2 [ pass ] 178
innodb.innodb-corrupted-table 'xtradb' w1 [ pass ] 5896
innodb.tmpdir 'xtradb' w2 [ pass ] 1048
innodb.trigger 'xtradb' w2 [ pass ] 161
innodb.innodb-dict 'xtradb' w1 [ pass ] 854
innodb.innodb-page_compression_lzo 'xtradb' w3 [ pass ] 71276
innodb.xa_recovery 'xtradb' w2 [ pass ] 9591
innodb_zip.innodb-create-options 'xtradb' w2 [ pass ] 3371
innodb_zip.innodb-zip 'xtradb' w2 [ pass ] 2159
innodb.innodb-fk 'xtradb' w1 [ pass ] 17800
innodb_zip.innodb_bug36169 'xtradb' w2 [ pass ] 778
innodb.innodb-fk-warnings 'xtradb' w1 [ pass ] 660
innodb_zip.innodb_bug36172 'xtradb' w2 [ pass ] 293
innodb.innodb-fkcheck 'xtradb' w1 [ pass ] 287
innodb_zip.innodb_bug52745 'xtradb' w2 [ pass ] 67
innodb_zip.innodb_bug53591 'xtradb' w2 [ pass ] 29
innodb_zip.innodb_bug56680 'xtradb' w2 [ pass ] 3917
innodb_zip.innodb_index_large_prefix 'xtradb' w2 [ pass ] 1069
innodb.innodb-changed-pages 'xtradb' w2 [ pass ] 37
innodb.innodb-page_compression_zip 'innodb_plugin' w4 [ pass ] 68404
innodb.innodb-replace 'innodb_plugin' w4 [ pass ] 29
innodb.fake_changes-7000 'xtradb' w2 [ pass ] 67
innodb.innodb-get-fk 'xtradb' w1 [ pass ] 18859
innodb.innodb-stats-initialize-failure 'innodb_plugin' w4 [ pass ] 6721
encryption.filekeys_encfile_file 'xtradb' w2 [ pass ] 220
innodb.innodb-index 'xtradb' w1 [ pass ] 3289
innodb.innodb-index_ucs2 'xtradb' w1 [ pass ] 95
innodb.innodb-lock 'xtradb' w1 [ pass ] 2182
encryption.filekeys_encfile_badfile 'xtradb' w2 [ pass ] 71
innodb.innodb-stats-sample 'innodb_plugin' w4 [ pass ] 5013
innodb.innodb-mdev-7513 'xtradb' w1 [ pass ] 4998
innodb.innodb-timeout 'innodb_plugin' w4 [ pass ] 3990
encryption.filekeys_encfile_bad 'xtradb' w2 [ pass ] 66
innodb.innodb-truncate 'innodb_plugin' w4 [ pass ] 330
innodb.innodb-ucs2 'innodb_plugin' w4 [ pass ] 916
innodb.innodb-update-insert 'innodb_plugin' w4 [ pass ] 61
innodb.innodb-virtual-columns 'innodb_plugin' w4 [ pass ] 232
encryption.filekeys_unencfile 'xtradb' w2 [ pass ] 55
encryption.filekeys_encfile 'xtradb' w2 [ pass ] 184
encryption.filekeys_tooshort 'xtradb' w2 [ pass ] 81
innodb.innodb-wl5522 'innodb_plugin' w4 [ pass ] 14701
encryption.filekeys_encfile_no 'xtradb' w2 [ pass ] 74
innodb.innodb-wl5522-1 'innodb_plugin' w4 [ pass ] 5372
encryption.filekeys_emptyfile 'xtradb' w2 [ pass ] 73
encryption.filekeys_syntax 'xtradb' w2 [ pass ] 860
encryption.filekeys_nofile 'xtradb' w2 [ pass ] 71
innodb.innodb_skip_innodb_is_tables w2 [ pass ] 79
innodb.innodb-page_compression_snappy 'xtradb' w3 [ pass ] 100167
innodb.innodb-wl5522-debug-zip 'innodb_plugin' w4 [ pass ] 20593
innodb.innodb_defrag_binlog 'innodb_plugin,row' w2 [ pass ] 1644
innodb.innodb_defrag_binlog 'row,xtradb' w2 [ pass ] 1445
innodb.innodb-wl5522-zip 'innodb_plugin' w4 [ pass ] 11329
innodb.innodb-xa 'innodb_plugin' w2 [ pass ] 22
innodb.innodb_blob_truncate 'innodb_plugin' w4 [ pass ] 238
innodb.innodb_bug11754376 'innodb_plugin' w4 [ pass ] 21
innodb.innodb_bug12661768 'innodb_plugin' w4 [ pass ] 47
innodb.innodb_blob_unrecoverable_crash 'innodb_plugin' w2 [ pass ] 3442
innodb.innodb_bug13510739 'innodb_plugin' w2 [ pass ] 51
innodb.innodb_bug14007649 'innodb_plugin' w2 [ pass ] 132
innodb.innodb-page_compression_tables 'xtradb' w3 [ pass ] 21429
innodb.innodb_bug12902967 'innodb_plugin' w4 [ pass ] 9140
innodb.innodb_bug21704 'innodb_plugin' w4 [ pass ] 162
innodb.innodb_bug14704286 'innodb_plugin' w2 [ pass ] 7154
innodb.innodb_bug34053 'innodb_plugin' w2 [ pass ] 261
innodb.innodb_bug34300 'innodb_plugin' w2 [ pass ] 554
innodb.innodb_bug35220 'innodb_plugin' w2 [ pass ] 82
innodb.innodb_bug38231 'innodb_plugin' w2 [ pass ] 128
innodb.innodb_bug40360 'innodb_plugin' w2 [ pass ] 37
innodb.innodb_bug40565 'innodb_plugin' w2 [ pass ] 48
innodb.innodb_bug41904 'innodb_plugin' w2 [ pass ] 55
innodb.innodb_bug42101 'innodb_plugin' w2 [ pass ] 8
innodb.innodb_bug42419 'innodb_plugin' w2 [ pass ] 340
innodb.innodb_bug44032 'innodb_plugin' w2 [ pass ] 47
innodb.innodb_bug44369 'innodb_plugin' w2 [ pass ] 9
innodb.innodb_bug44571 'innodb_plugin' w2 [ pass ] 76
innodb.innodb_bug45357 'innodb_plugin' w2 [ pass ] 44
innodb.innodb_bug46000 'innodb_plugin' w2 [ pass ] 69
innodb.innodb_bug46676 'innodb_plugin' w2 [ pass ] 164
innodb.innodb_bug47167 'innodb_plugin' w2 [ pass ] 3853
innodb.innodb_bug47621 'innodb_plugin' w2 [ pass ] 216
innodb.innodb_bug47622 'innodb_plugin' w2 [ pass ] 116
innodb.innodb_bug47777 'innodb_plugin' w2 [ pass ] 32
innodb.innodb_bug48024 'innodb_plugin' w2 [ pass ] 156
innodb.innodb_bug49164 'innodb_plugin' w2 [ pass ] 66
innodb.innodb-page_compression_bzip2 'xtradb' w1 [ pass ] 106669
innodb.innodb-replace 'xtradb' w1 [ pass ] 78
innodb.innodb-page_compression_default 'xtradb' w2 [ pass ] 4481
innodb.innodb-stats-initialize-failure 'xtradb' w1 [ pass ] 8416
innodb.innodb-stats-sample 'xtradb' w2 [ pass ] 6561
innodb.innodb-truncate 'xtradb' w2 [ pass ] 417
innodb.innodb-timeout 'xtradb' w1 [ pass ] 4232
innodb.innodb_bug30423 'innodb_plugin' w4 [ pass ] 47016
innodb.innodb-ucs2 'xtradb' w2 [ pass ] 931
innodb.innodb-update-insert 'xtradb' w1 [ pass ] 113
innodb.innodb-virtual-columns 'xtradb' w4 [ pass ] 389
innodb.innodb-wl5522-1 'xtradb' w1 [ pass ] 4496
innodb.innodb-wl5522 'xtradb' w2 [ pass ] 15160
innodb.innodb-xa 'xtradb' w2 [ pass ] 29
innodb.innodb_blob_truncate 'xtradb' w2 [ pass ] 198
innodb.innodb-wl5522-zip 'xtradb' w1 [ pass ] 14419
innodb.innodb_bug11754376 'xtradb' w1 [ pass ] 17
innodb.innodb_bug12661768 'xtradb' w1 [ pass ] 66
innodb.innodb_blob_unrecoverable_crash 'xtradb' w2 [ pass ] 4357
innodb.innodb_bug13510739 'xtradb' w2 [ pass ] 60
innodb.innodb_bug14007649 'xtradb' w2 [ pass ] 78
innodb.innodb-wl5522-debug-zip 'xtradb' w4 [ pass ] 21539
innodb.innodb-page_compression_zip 'xtradb' w3 [ pass ] 81587
innodb.innodb_bug21704 'xtradb' w4 [ pass ] 191
innodb.innodb_bug34053 'xtradb' w4 [ pass ] 179
innodb.innodb_bug34300 'xtradb' w4 [ pass ] 499
innodb.innodb_bug14704286 'xtradb' w2 [ pass ] 6688
innodb.innodb_bug12902967 'xtradb' w1 [ pass ] 10706
innodb.innodb_bug30423 'xtradb' w3 [ pass ] 21800
--------------------------------------------------------------------------
The servers were restarted 230 times
Spent 6143.036 of 1880 seconds executing testcases

Completed: All 541 tests were successful.

16 tests were skipped, 16 by the test itself.

jan@jan-laptop-asus:~/mysql/10.1-bugs/mysql-test$ grep Sani /dev/shm/log/?/mysqld.?.err
grep: /dev/shm/log/?/mysqld.?.err: No such file or directory
jan@jan-laptop-asus:~/mysql/10.1-bugs/mysql-test$ grep Sani /dev/shm/log//mysqld.err
grep: /dev/shm/log//mysqld.err: No such file or directory

 

Comment by Marko Mäkelä [ 2017-04-18 ]

I would like to reduce the unnecessary difference between InnoDB and XtraDB. Please carefully review the following and remove the differences:

diff -I^@@ <(git diff abc60456250d8076ffd016cc17ee0d5d5045853a{,~3} storage/innobase) <(git diff abc60456250d8076ffd016cc17ee0d5d5045853a{,~3} storage/xtradb)|less

Also, please do a proper merge to up-to-date 10.2, and try to remove the member Datafile::m_crypt_info which does not exist in 10.1. Simplifying the data ownership rules by this removal should prevent some memory leaks or double-free when InnoDB fails to start up.

Comment by Marko Mäkelä [ 2017-04-18 ]

Please address my latest review comments to 10.1 and additionally the following comments:

  • Check the corruption status in dict_stats_save()
  • Keep the return type of recv_apply_hashed_log_recs() as void. Add a test where InnoDB will stop during redo log apply if a corrupted page is encountered innodb_force_recovery=0. If innodb_force_recovery=1, only the redo log apply to the corrupted page must be skipped, and everything else must be recovered.
  • Merge the code on top of the latest 10.2 and show that the tests pass on buildbot.
  • Test both 10.1 and 10.2 WITH_ASAN.

With all these addressed, it should be OK to push. I would still want to review the test changes before the final approval.
Once more, we must not change the signature of recv_apply_hashed_log_recs().

Comment by Marko Mäkelä [ 2017-04-18 ]

I think that we will need a page corruption test that replaces innodb.innodb_bug14147491 with the following:

  • Disable the doublewrite buffer and enable innodb_file_per_table in the .opt file
  • Create a number of tables (uncompressed, page_compression, encrypted, both) with some secondary indexes.
  • BEGIN; SET GLOBAL innodb_flush_log_at_trx_commit=1; source no_checkpoint_start.inc; INSERT …; COMMIT;
  • source no_checkpoint_end.inc to kill the server.
  • Corrupt a secondary index page in each file. (Page 4 should be the root page of the first secondary index, if all indexes were created by CREATE TABLE.)
  • Attempt startup with innodb_force_recovery=0 (the default). This should fail to start InnoDB (or the whole server).
  • Attempt startup with innodb_force_recovery=1. This must succeed. Search the error log for page corruption messages (there must be some).
  • Attempt SELECT * FROM … FORCE INDEX(PRIMARY) for each table. This must succeed, because no clustered index pages were corrupted.
  • Attempt CHECK TABLE for each table. This must fail to access the secondary index root page.
  • Attempt some subsequent DML to ensure that encrypted files were marked unreadable. (I do not agree with this behaviour. I think that access to the clustered index should be preserved, so that data can be rescued. But this is the best we can do now.)
  • Finally, DROP TABLE …;

Variations of this test can attempt recovery and forced recovery with encryption and page_compression&encryption with modified key files, so that the files will be unreadable.

Note: We might not want to corrupt the root page of any index, because DROP TABLE normally needs to be able to access the root page in order to gain access to the BTR_SEG_TOP and BTR_SEG_LEAF to free the pages that belong to the index. However, if ALTER TABLE…DISCARD TABLESPACE is issued before DROP TABLE, then any corruption inside the data file should be tolerated.

To corrupt a non-root secondary index page, use something like PRIMARY KEY(a), INDEX(b) and INSERT…SET a='foo',b='bar'; INSERT…SET a='fop',b='bar'; INSERT…a lot more to ensure that there will be multiple secondary index pages; and then find the secondary index leaf page by searching for 'barfoo.......barfop' or similar (it should be about 7 bytes between the two adjacent leaf-page records). Again, the string could occur in the node pointer records that are stored in the root page, and we do not want to corrupt the root page.

Note: If you insist to return an error from recv_apply_hashed_log_recs(), that would require propagating the error all way up in each caller, and finally killing InnoDB to handle the error. I think that it is simply too complex for a special case (the last phase of redo log apply in crash recovery). The callers would include recv_scan_log_recs(), log_checkpoint(), log_preflush_pool_modified_pages(), and all their callers, such as all 30+ callers of log_free_check(). I think that it is more acceptable to abort the server process in InnoDB crash recovery, with a message that says that innodb_force_recovery=1 can be attempted to ignore the corrupted page.

Comment by Jan Lindström (Inactive) [ 2017-04-20 ]

I need to skip your suggested test for page compressed and page compressed + encrypted tables. There is no way to "match" secondary index entry to string and replace it another using perl when that string is compressed or encrypted, encryption contents will vary based on lsn and tablespace no. Corrupting random bytes on compressed page will lead crash on:

#6  0x0000557bb6bb1a96 in fil_decompress_page (page_buf=0x7f39bd878000 "\250\025\333\240", buf=0x7f39c33c4000 "\336\255\276\357", len=16384, write_size=0x7f39c2fa7ca8, return_error=false) at /home/jan/mysql/10.1/storage/xtradb/fil/fil0pagecompress.cc:557
#7  0x0000557bb6b37858 in buf_page_decrypt_after_read (bpage=0x7f39c2fa7c88) at /home/jan/mysql/10.1/storage/xtradb/buf/buf0buf.cc:6435
#8  0x0000557bb6b339bb in buf_page_io_complete (bpage=0x7f39c2fa7c88) at /home/jan/mysql/10.1/storage/xtradb/buf/buf0buf.cc:4674
#9  0x0000557bb6bac740 in fil_aio_wait (segment=2) at /home/jan/mysql/10.1/storage/xtradb/fil/fil0fil.cc:6372
#10 0x0000557bb6a9b26e in io_handler_thread (arg=0x557bb7e9a510 <n+16>) at /home/jan/mysql/10.1/storage/xtradb/srv/srv0start.cc:546
#11 0x00007f39ce194424 in start_thread (arg=0x7f39c17fd700) at pthread_create.c:333
#12 0x00007f39cba129bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

That might be fixable but I will not take it part of this bug. I will research if I could do test with:

  • normal tables
  • row comparessed table
  • encrypted table
  • row compressed + encrypted

These are different because they contain checksum but no promises (before I have done the test).

Comment by Jan Lindström (Inactive) [ 2017-04-25 ]

After second round of review comments:

Comment by Jan Lindström (Inactive) [ 2017-04-25 ]

ASAN:

10.1:

jan@jan-laptop-asus:~/mysql/10.1-bugs/mysql-test$ ASAN_OPTIONS=abort_on_error=1 ./mtr --vardir=/dev/shm --suite=innodb,encryption,innodb_zip --force --parallel=auto --big-test
Logging: ./mtr  --vardir=/dev/shm --suite=innodb,encryption,innodb_zip --force --parallel=auto --big-test
vardir: /dev/shm
Checking leftover processes...
Removing old var directory...
couldn't chmod(0777, /dev/shm): Operation not permitted at /usr/share/perl/5.24/File/Find.pm line 511.
Couldn't remove directory '/dev/shm': Permission denied at /usr/share/perl/5.24/File/Find.pm line 511.
Creating var directory '/dev/shm'...
Checking supported features...
MariaDB Version 10.1.23-MariaDB-debug
 - SSL connections supported
 - binaries are debug compiled
Using suites: innodb,encryption,innodb_zip
Collecting tests...
Installing system database...
Using parallel: 4
 
==============================================================================
 
TEST                                  WORKER RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------
 
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
worker[3] Using MTR_BUILD_THREAD 301, with reserved ports 16020..16039
worker[2] Using MTR_BUILD_THREAD 302, with reserved ports 16040..16059
worker[4] Using MTR_BUILD_THREAD 303, with reserved ports 16060..16079
encryption.innodb_scrub                  [ disabled ]  MDEV-8139 scrubbing does not work reliably
encryption.innodb_scrub_background       [ disabled ]  MDEV-8139 scrubbing does not work reliably
encryption.innodb_encryption-page-compression 'innodb_plugin' w1 [ pass ]  10031
encryption.innodb_encryption-page-compression 'xtradb' w1 [ pass ]   8422
encryption.innodb_encryption_tables 'innodb_plugin' w4 [ pass ]  36535
encryption.innodb_encryption 'innodb_plugin' w3 [ pass ]  42387
encryption.innodb_encryption 'xtradb'    w2 [ pass ]  45054
innodb.innodb_bug53674 'innodb_plugin'   w2 [ pass ]     67
innodb.innodb_bug53674 'xtradb'          w2 [ pass ]     51
innodb.innodb 'innodb_plugin'            w4 [ pass ]  18317
encryption.tempfiles 'cbc,xtradb'        w2 [ pass ]    288
innodb.innodb 'xtradb'                   w3 [ pass ]  16331
encryption.tempfiles 'ctr,xtradb'        w4 [ pass ]    161
encryption.innodb_encryption_tables 'xtradb' w1 [ pass ]  40168
innodb.snapshot 'innodb_plugin'          w2 [ pass ]     31
innodb.snapshot 'xtradb'                 w3 [ pass ]     32
innodb.group_commit_no_optimize_thread 'innodb_plugin' w2 [ pass ]     50
innodb.group_commit_binlog_pos_no_optimize_thread 'innodb_plugin' w4 [ pass ]   2663
innodb.group_commit_no_optimize_thread 'xtradb' w4 [ pass ]     43
innodb.group_commit_binlog_pos_no_optimize_thread 'xtradb' w3 [ pass ]   2621
innodb.innodb-flush-changed-page-bitmaps 'xtradb' w4 [ pass ]      5
innodb.innodb_ctype_ldml 'innodb_plugin' w3 [ pass ]   1113
innodb.innodb_ctype_ldml 'xtradb'        w4 [ pass ]   1159
innodb.group_commit_crash_no_optimize_thread 'innodb_plugin' w1 [ pass ]  16143
innodb.group_commit_crash_no_optimize_thread 'xtradb' w2 [ pass ]  15772
innodb.innodb-autoinc-44030 'innodb_plugin' w4 [ pass ]   3966
innodb.innodb-autoinc 'innodb_plugin'    w3 [ pass ]  13334
innodb.innodb-autoinc-44030 'xtradb'     w4 [ pass ]   5034
encryption.innodb-page_encryption-32k 'cbc,innodb_plugin' w4 [ skipped ]  Test requires InnoDB with 32k Page size.
innodb.innodb-autoinc 'xtradb'           w2 [ pass ]  16245
encryption.innodb-page_encryption-32k 'cbc,xtradb' w4 [ skipped ]  Test requires InnoDB with 32k Page size.
encryption.innodb-page_encryption-32k 'ctr,innodb_plugin' w2 [ skipped ]  Test requires InnoDB with 32k Page size.
encryption.innodb-page_encryption-32k 'ctr,xtradb' w4 [ skipped ]  Test requires InnoDB with 32k Page size.
innodb.innodb-32k 'innodb_plugin'        w2 [ skipped ]  Test requires InnoDB with 32k Page size.
innodb.innodb-32k-crash 'innodb_plugin'  w2 [ skipped ]  Test requires InnoDB with 32k Page size.
innodb.innodb-64k 'innodb_plugin'        w2 [ skipped ]  Test requires InnoDB with 64k Page size.
innodb.innodb-64k-crash 'innodb_plugin'  w2 [ skipped ]  Test requires InnoDB with 64k Page size.
innodb.innodb-32k 'xtradb'               w2 [ skipped ]  Test requires InnoDB with 32k Page size.
innodb.innodb-32k-crash 'xtradb'         w2 [ skipped ]  Test requires InnoDB with 32k Page size.
innodb.innodb-64k 'xtradb'               w2 [ skipped ]  Test requires InnoDB with 64k Page size.
innodb.innodb-64k-crash 'xtradb'         w2 [ skipped ]  Test requires InnoDB with 64k Page size.
innodb.innodb-16k 'innodb_plugin'        w4 [ pass ]  14704
encryption.innodb-log-encrypt-crash 'innodb_plugin' w4 [ skipped ]  Does not run with debug binaries
innodb.innodb-16k 'xtradb'               w2 [ pass ]  13727
encryption.innodb-redo-nokeys 'cbc,innodb_plugin' w2 [ pass ]  10900
encryption.innodb-redo-badkey 'cbc,innodb_plugin' w4 [ pass ]  17658
encryption.innodb-key-rotation-disable 'cbc,innodb_plugin' w2 [ pass ]   4294
innodb.innodb_mysql 'innodb_plugin'      w1 [ pass ]  76481
encryption.innodb_first_page 'cbc,innodb_plugin' w4 [ pass ]   7104
encryption.innodb-log-encrypt 'innodb_plugin' w2 [ pass ]   4096
innodb.innodb_mysql 'xtradb'             w3 [ pass ]  76910
encryption.innodb-read-only 'cbc,innodb_plugin' w3 [ pass ]   9869
encryption.innodb-page_encryption_log_encryption 'cbc,innodb_plugin' w4 [ pass ]  19786
encryption.innodb-missing-key 'cbc,innodb_plugin' w2 [ pass ]  18249
encryption.encrypt_and_grep 'cbc,innodb_plugin' w1 [ pass ]  31218
encryption.innodb_encryption_row_compressed 'cbc,innodb_plugin' w3 [ pass ]   8833
encryption.innodb_encryption_is 'cbc,innodb_plugin' w3 [ pass ]     87
encryption.innodb-compressed-blob 'cbc,innodb_plugin' w4 [ pass ]  13170
encryption.innodb-log-encrypt-crash 'xtradb' w4 [ skipped ]  Does not run with debug binaries
encryption.innochecksum 'cbc,innodb_plugin' w3 [ pass ]  14912
encryption.innodb_onlinealter_encryption 'cbc,innodb_plugin' w1 [ pass ]  25461
encryption.innodb-redo-badkey 'cbc,xtradb' w4 [ pass ]  20092
encryption.innodb-redo-nokeys 'cbc,xtradb' w1 [ pass ]  14231
encryption.innodb-key-rotation-disable 'cbc,xtradb' w4 [ pass ]   4869
encryption.innodb-bad-key-change 'cbc,innodb_plugin' w3 [ pass ]  24392
encryption.innodb-log-encrypt 'xtradb'   w4 [ pass ]   5386
encryption.innodb_first_page 'cbc,xtradb' w1 [ pass ]   9656
encryption.innodb-discard-import 'cbc,innodb_plugin' w3 [ pass ]   5717
encryption.innodb-discard-import-change 'cbc,innodb_plugin' w3 [ pass ]   2774
encryption.innodb-encr-threads 'cbc,innodb_plugin' w3 [ pass ]     31
encryption.create_or_replace 'cbc,innodb_plugin' w2 [ pass ]  79377
encryption.innodb-page_encryption_log_encryption 'cbc,xtradb' w1 [ pass ]  24186
encryption.encrypt_and_grep 'cbc,xtradb' w4 [ pass ]  35610
encryption.innodb_encryption_filekeys 'cbc,innodb_plugin' w2 [ pass ]  23039
encryption.innodb-encryption-alter 'cbc,innodb_plugin' w3 [ pass ]  45504
encryption.innodb-missing-key 'cbc,xtradb' w1 [ pass ]  22768
encryption.innodb-read-only 'cbc,xtradb' w2 [ pass ]  10878
encryption.innodb_onlinealter_encryption 'cbc,xtradb' w4 [ pass ]  20672
encryption.innodb-force-corrupt 'cbc,innodb_plugin' w3 [ pass ]   8360
encryption.innodb_encryption_row_compressed 'cbc,xtradb' w1 [ pass ]  10670
encryption.innodb_encryption_is 'cbc,xtradb' w1 [ pass ]     90
encryption.innodb-compressed-blob 'cbc,xtradb' w2 [ pass ]  15931
encryption.aria_tiny 'cbc'               w2 [ pass ]     20
encryption.innochecksum 'cbc,xtradb'     w1 [ pass ]  15091
encryption.innodb-redo-badkey 'ctr,innodb_plugin' w2 [ pass ]  20159
encryption.innodb-redo-nokeys 'ctr,innodb_plugin' w2 [ pass ]  12631
encryption.innodb-key-rotation-disable 'ctr,innodb_plugin' w2 [ pass ]   4897
encryption.innodb-bad-key-change 'cbc,xtradb' w1 [ pass ]  31553
encryption.innodb_first_page 'ctr,innodb_plugin' w2 [ pass ]   8526
encryption.innodb-discard-import 'cbc,xtradb' w1 [ pass ]   5508
encryption.innodb-discard-import-change 'cbc,xtradb' w1 [ pass ]   1498
encryption.innodb-page_encryption 'cbc,innodb_plugin' w3 [ pass ]  79114
encryption.innodb-encr-threads 'cbc,xtradb' w1 [ pass ]     28
encryption.innodb-page_encryption_compression 'cbc,innodb_plugin' w3 [ pass ]  10165
encryption.create_or_replace 'cbc,xtradb' w4 [ pass ]  103445
encryption.innodb_page_encryption_key_change 'cbc,innodb_plugin' w3 [ pass ]   8720
encryption.encrypt_and_grep 'ctr,innodb_plugin' w2 [ pass ]  30960
encryption.innodb-encryption-alter 'cbc,xtradb' w1 [ pass ]  39392
encryption.innodb_encryption_filekeys 'cbc,xtradb' w4 [ pass ]  20146
encryption.innodb-page_encryption_log_encryption 'ctr,innodb_plugin' w3 [ pass ]  22478
encryption.innodb_onlinealter_encryption 'ctr,innodb_plugin' w2 [ pass ]  23992
encryption.innodb-force-corrupt 'cbc,xtradb' w1 [ pass ]  10940
encryption.innodb-read-only 'ctr,innodb_plugin' w3 [ pass ]  10329
encryption.innodb_encryption_row_compressed 'ctr,innodb_plugin' w2 [ pass ]   8910
encryption.innodb-missing-key 'ctr,innodb_plugin' w4 [ pass ]  20026
encryption.innodb_encryption_is 'ctr,innodb_plugin' w4 [ pass ]    104
encryption.innodb-compressed-blob 'ctr,innodb_plugin' w3 [ pass ]  13128
encryption.innochecksum 'ctr,innodb_plugin' w4 [ pass ]  13727
encryption.innodb-redo-badkey 'ctr,xtradb' w3 [ pass ]  21167
encryption.innodb-bad-key-change 'ctr,innodb_plugin' w4 [ pass ]  26997
encryption.innodb-redo-nokeys 'ctr,xtradb' w3 [ pass ]  15062
encryption.innodb-discard-import 'ctr,innodb_plugin' w4 [ pass ]   7062
encryption.innodb-page_encryption 'cbc,xtradb' w1 [ pass ]  79560
encryption.innodb-discard-import-change 'ctr,innodb_plugin' w4 [ pass ]   1753
encryption.innodb-encr-threads 'ctr,innodb_plugin' w4 [ pass ]     31
encryption.innodb-key-rotation-disable 'ctr,xtradb' w3 [ pass ]   6183
encryption.innodb_first_page 'ctr,xtradb' w3 [ pass ]   9452
encryption.innodb-page_encryption_compression 'cbc,xtradb' w1 [ pass ]  12592
encryption.innodb_page_encryption_key_change 'cbc,xtradb' w1 [ pass ]  10595
encryption.innodb-encryption-alter 'ctr,innodb_plugin' w4 [ pass ]  39736
encryption.innodb-force-corrupt 'ctr,innodb_plugin' w4 [ pass ]   8394
encryption.encrypt_and_grep 'ctr,xtradb' w3 [ pass ]  33768
encryption.innodb-page_encryption_log_encryption 'ctr,xtradb' w1 [ pass ]  20581
encryption.innodb_onlinealter_encryption 'ctr,xtradb' w3 [ pass ]  21992
encryption.innodb-missing-key 'ctr,xtradb' w1 [ pass ]  22404
encryption.create_or_replace 'ctr,innodb_plugin' w2 [ pass ]  149659
encryption.innodb-read-only 'ctr,xtradb' w3 [ pass ]  10972
encryption.innodb_encryption_row_compressed 'ctr,xtradb' w1 [ pass ]  10251
encryption.innodb-page_encryption 'ctr,innodb_plugin' w4 [ pass ]  55650
encryption.innodb_encryption_filekeys 'ctr,innodb_plugin' w2 [ pass ]  22716
encryption.innodb-compressed-blob 'ctr,xtradb' w3 [ pass ]  15325
encryption.innodb_encryption_is 'ctr,xtradb' w2 [ pass ]     77
encryption.aria_tiny 'ctr'               w2 [ pass ]     15
encryption.innodb-page_encryption_compression 'ctr,innodb_plugin' w4 [ pass ]  11031
innodb_zip.innodb_cmp_drop_table 'innodb_plugin' w2 [ pass ]   4160
encryption.innochecksum 'ctr,xtradb'     w3 [ pass ]  14419
innodb.log_data_file_size 'innodb_plugin' w2 [ pass ]   2529
encryption.innodb_page_encryption_key_change 'ctr,innodb_plugin' w4 [ pass ]   8798
encryption.innodb-bad-key-change 'ctr,xtradb' w3 [ pass ]  31073
encryption.innodb-discard-import 'ctr,xtradb' w3 [ pass ]   5094
encryption.innodb-discard-import-change 'ctr,xtradb' w3 [ pass ]   1795
innodb.innodb_defragment 'innodb_plugin' w2 [ pass ]  44240
encryption.innodb-encr-threads 'ctr,xtradb' w3 [ pass ]     31
innodb.innodb_defrag_concurrent 'innodb_plugin' w4 [ pass ]  52260
innodb.innodb_defrag_stats 'innodb_plugin' w2 [ pass ]  18390
encryption.create_or_replace 'ctr,xtradb' w1 [ pass ]  99939
innodb.innodb_defragment_fill_factor 'innodb_plugin' w4 [ pass ]  13834
encryption.innodb-encryption-alter 'ctr,xtradb' w3 [ pass ]  38284
encryption.innodb-bad-key-change4 'innodb_plugin' w4 [ pass ]  12390
encryption.encryption_force 'innodb_plugin' w4 [ pass ]    109
encryption.innodb_encryption_filekeys 'ctr,xtradb' w1 [ pass ]  21750
encryption.innodb-force-corrupt 'ctr,xtradb' w3 [ pass ]  10321
encryption.debug_key_management 'innodb_plugin' w1 [ pass ]   4800
innodb.innodb_defrag_stats_many_tables 'innodb_plugin' w2 [ pass ]  46630
innodb.innodb_corrupt_bit 'innodb_plugin' w2 [ pass ]    527
innodb.innodb_sys_semaphore_waits 'innodb_plugin' w2 [ pass ]  16250
encryption.innodb_encryption_discard_import 'innodb_plugin' w4 [ pass ]  57293
innodb.innodb_simulate_comp_failures_small 'innodb_plugin' w4 [ pass ]   4349
encryption.innodb-page_encryption 'ctr,xtradb' w3 [ pass ]  66990
innodb.innodb_simulate_comp_failures 'innodb_plugin' w2 [ pass ]  36790
encryption.innodb-page_encryption_compression 'ctr,xtradb' w3 [ pass ]  10675
innodb.innodb_mutexes 'innodb_plugin'    w2 [ pass ]   8647
innodb.innodb_bug14676111 'innodb_plugin' w2 [ pass ]     94
encryption.innodb_page_encryption_key_change 'ctr,xtradb' w3 [ pass ]   9887
innodb.innodb_bug12400341 'innodb_plugin' w3 [ pass ]   1121
innodb.innochecksum 'innodb_plugin'      w2 [ pass ]   8550
innodb.create_isl_with_direct 'innodb_plugin' w2 [ pass ]     57
innodb.innodb_bug14147491 'innodb_plugin' w3 [ pass ]   7508
innodb.innodb_force_pk 'innodb_plugin'   w2 [ pass ]    127
innodb.innodb-mdev-7408 'innodb_plugin'  w3 [ pass ]     82
innodb.group_commit_binlog_pos 'innodb_plugin' w2 [ pass ]   2758
innodb.binlog_consistent 'innodb_plugin' w3 [ pass ]    130
innodb.group_commit 'innodb_plugin'      w3 [ pass ]     57
innodb.group_commit_crash 'innodb_plugin' w2 [ pass ]  15764
innodb.innodb_bug30919 'innodb_plugin'   w2 [ pass ]  12518
innodb.innodb-mdev7046 'innodb_plugin'   w2 [ pass ]    432
innodb.insert_debug 'innodb_plugin'      w2 [ pass ]    495
innodb.multi_repair-7404 'innodb_plugin' w2 [ pass ]    191
innodb.innodb_autoinc_lock_mode_zero 'innodb_plugin' w2 [ pass ]     62
innodb.innodb_information_schema_buffer 'innodb_plugin' w2 [ pass ]    338
innodb.innodb_bug42101-nonzero 'innodb_plugin' w2 [ pass ]      8
innodb.innodb_bug60049 'innodb_plugin'   w2 [ pass ]   4333
innodb.innodb_bug39438 'innodb_plugin'   w2 [ pass ]     53
innodb.innodb-lock-schedule-algorithm 'innodb_plugin' w2 [ pass ]  12431
innodb.data_types 'innodb_plugin'        w2 [ pass ]     69
innodb.innodb-stats-modified-counter 'innodb_plugin' w2 [ pass ]    163
innodb.innodb_information_schema_tables 'innodb_plugin' w2 [ pass ]    506
encryption.innodb_lotoftables 'innodb_plugin' w1 [ pass ]  212071
innodb.innodb-autoinc-56228 'innodb_plugin' w2 [ pass ]     71
innodb.innodb_mysql_rbk 'innodb_plugin'  w1 [ pass ]   4568
innodb.innodb_timeout_rollback 'innodb_plugin' w1 [ pass ]   3661
innodb.innodb-consistent 'innodb_plugin' w1 [ pass ]     98
innodb.innodb_lock_wait_timeout_1 'innodb_plugin' w2 [ pass ]  17533
innodb.defrag_mdl-9155 'innodb_plugin'   w2 [ pass ]   1655
innodb.innodb-semi-consistent 'innodb_plugin' w1 [ pass ]  11916
innodb.innodb_bug60196 'innodb_plugin'   w2 [ skipped ]  Test requires: 'lowercase2'
innodb.innodb-change-buffer-recovery 'innodb_plugin' w3 [ pass ]  125521
innodb.innodb_bug49164 'innodb_plugin'   w3 [ pass ]    101
innodb.innodb_bug51378 'innodb_plugin'   w3 [ pass ]    549
innodb.innodb_bug53756 'innodb_plugin'   w1 [ pass ]   3510
innodb.innodb_bug51920 'innodb_plugin'   w3 [ pass ]    241
innodb.innodb_bug52199 'innodb_plugin'   w3 [ pass ]     90
innodb.innodb-wl5522-debug 'innodb_plugin' w2 [ pass ]  29652
innodb.innodb_bug52663 'innodb_plugin'   w3 [ pass ]  51380
innodb.innodb_bug53046 'innodb_plugin'   w3 [ pass ]    301
innodb.sp_temp_table 'innodb_plugin'     w2 [ pass ]  30246
innodb_zip.innodb_prefix_index_liftedlimit 'innodb_plugin' w2 [ pass ]   9644
encryption.innodb-bad-key-change2 'innodb_plugin' w2 [ pass ]  31749
innodb.innodb_bug53290 'innodb_plugin'   w3 [ pass ]  47127
innodb.innodb_bug53592 'innodb_plugin'   w3 [ pass ]    402
innodb.innodb_bug54044 'innodb_plugin'   w3 [ pass ]     65
innodb.innodb_bug56143 'innodb_plugin'   w3 [ pass ]   2977
innodb.innodb_bug56716 'innodb_plugin'   w3 [ pass ]     29
innodb.innodb_bug56947 'innodb_plugin'   w3 [ pass ]     42
innodb.innodb_bug57252 'innodb_plugin'   w3 [ pass ]     38
innodb.innodb_bug57255 'innodb_plugin'   w3 [ pass ]   1219
innodb.innodb_bug57904 'innodb_plugin'   w3 [ pass ]     77
innodb.innodb_bug59410 'innodb_plugin'   w3 [ pass ]     69
innodb.innodb_bug59641 'innodb_plugin'   w3 [ pass ]   6844
innodb.innodb_bug59733 'innodb_plugin'   w3 [ pass ]    955
innodb.innodb_bug60229 'innodb_plugin'   w3 [ pass ]     71
encryption.innodb-bad-key-change3 'innodb_plugin' w2 [ pass ]  21934
innodb.innodb_bug68148 'innodb_plugin'   w3 [ pass ]   4151
innodb.innodb_defragment_small 'innodb_plugin' w3 [ pass ]    195
innodb.innodb_file_format 'innodb_plugin' w3 [ pass ]   3413
innodb.innodb_gis 'innodb_plugin'        w3 [ pass ]    315
innodb.innodb_information_schema 'innodb_plugin' w3 [ pass ]    436
innodb.innodb_monitor 'innodb_plugin'    w3 [ pass ]    224
innodb.innodb_multi_update 'innodb_plugin' w3 [ pass ]     79
innodb.innodb_uninstall                  w1 [ pass ]  127976
innodb.innodb_notembedded 'innodb_plugin' w3 [ pass ]    247
innodb_zip.innodb_cmp_drop_table 'xtradb' w1 [ pass ]   5667
encryption.innodb-encryption-disable 'innodb_plugin' w2 [ pass ]  12615
innodb.innodb_prefix_index_restart_server 'innodb_plugin' w3 [ pass ]  12361
innodb.innodb_stats 'innodb_plugin'      w3 [ pass ]    603
innodb.log_data_file_size 'xtradb'       w1 [ pass ]   2588
innodb.innodb_stats_create_on_corrupted 'innodb_plugin' w3 [ pass ]   4162
innodb.innodb_stats_create_table 'innodb_plugin' w3 [ pass ]    120
innodb.innodb_stats_drop_locked 'innodb_plugin' w3 [ pass ]   1659
innodb.innodb_stats_fetch 'innodb_plugin' w3 [ pass ]    122
innodb.101_compatibility 'innodb_plugin' w2 [ pass ]  10196
innodb.add_constraint 'innodb_plugin'    w2 [ pass ]    305
innodb.alter_key_block_size-11757 'innodb_plugin' w2 [ pass ]    302
innodb.auto_increment_dup 'innodb_plugin' w2 [ pass ]     86
innodb.blob-update-debug 'innodb_plugin' w2 [ pass ]     76
innodb.blob_unique2pk 'innodb_plugin'    w2 [ pass ]    137
innodb.count_distinct 'innodb_plugin'    w2 [ pass ]     54
innodb.innodb_stats_fetch_corrupted 'innodb_plugin' w3 [ pass ]   4379
innodb.create-index 'innodb_plugin'      w2 [ pass ]     66
innodb.innodb_stats_fetch_nonexistent 'innodb_plugin' w3 [ pass ]     89
innodb.innodb_stats_rename_table 'innodb_plugin' w3 [ pass ]     42
innodb.innodb_stats_rename_table_if_exists 'innodb_plugin' w3 [ pass ]    446
innodb.innodb_trx_weight 'innodb_plugin' w3 [ pass ]   1051
innodb.doublewrite 'innodb_plugin'       w2 [ pass ]  25730
innodb.dropdb 'innodb_plugin'            w2 [ pass ]      4
innodb.foreign-keys 'innodb_plugin'      w2 [ pass ]    187
innodb.help_url 'innodb_plugin'          w2 [ pass ]     18
innodb.innodb-agregate 'innodb_plugin'   w2 [ pass ]     55
innodb.innodb-alter-debug 'innodb_plugin' w2 [ pass ]    215
innodb.innodb-alter-discard 'innodb_plugin' w2 [ pass ]   4245
innodb.innodb-alter-nullable 'innodb_plugin' w2 [ pass ]    145
innodb.innodb_defragment 'xtradb'        w1 [ pass ]  45038
innodb.log_file_size 'innodb_plugin'     w3 [ pass ]  41563
innodb.mdev-117 'innodb_plugin'          w3 [ pass ]     66
innodb.innodb-alter-table 'innodb_plugin' w2 [ pass ]  12561
innodb.innodb-alter-tempfile 'innodb_plugin' w2 [ pass ]   7384
innodb.innodb-alter-timestamp 'innodb_plugin' w2 [ pass ]    152
innodb.innodb-analyze 'innodb_plugin'    w2 [ pass ]     72
innodb.innodb-autoinc-18274 'innodb_plugin' w2 [ pass ]     83
innodb.read_only_recovery 'innodb_plugin' w3 [ pass ]  10399
innodb.innodb-autoinc-61209 'innodb_plugin' w2 [ pass ]     38
innodb.row_lock 'innodb_plugin'          w3 [ pass ]    276
innodb.innodb-autoinc-optimize 'innodb_plugin' w2 [ pass ]     92
innodb.strict_mode 'innodb_plugin'       w3 [ pass ]    416
innodb.system_tables 'innodb_plugin'     w3 [ pass ]   4327
innodb.table_index_statistics 'innodb_plugin' w3 [ pass ]    176
innodb.tmpdir 'innodb_plugin'            w3 [ pass ]    984
innodb.trigger 'innodb_plugin'           w3 [ pass ]    154
innodb.innodb-blob 'innodb_plugin'       w2 [ pass ]   8960
innodb.innodb-bug-14068765 'innodb_plugin' w2 [ pass ]    518
innodb.innodb-bug-14084530 'innodb_plugin' w2 [ pass ]    323
innodb.innodb-corrupted-table 'innodb_plugin' w2 [ pass ]   4429
innodb.xa_recovery 'innodb_plugin'       w3 [ pass ]   8381
innodb.innodb-dict 'innodb_plugin'       w2 [ pass ]   1056
innodb_zip.innodb-create-options 'innodb_plugin' w3 [ pass ]   4182
innodb_zip.innodb-zip 'innodb_plugin'    w3 [ pass ]   1936
innodb_zip.innodb_bug36169 'innodb_plugin' w3 [ pass ]    707
innodb_zip.innodb_bug36172 'innodb_plugin' w3 [ pass ]    387
innodb_zip.innodb_bug52745 'innodb_plugin' w3 [ pass ]     62
innodb_zip.innodb_bug53591 'innodb_plugin' w3 [ pass ]     75
innodb_zip.innodb_bug56680 'innodb_plugin' w3 [ pass ]   5291
innodb.innodb-fk 'innodb_plugin'         w2 [ pass ]  17063
innodb_zip.innodb_index_large_prefix 'innodb_plugin' w3 [ pass ]   1683
innodb.innodb-fk-warnings 'innodb_plugin' w2 [ pass ]    598
innodb.innodb-fkcheck 'innodb_plugin'    w2 [ pass ]    171
innodb.innodb_defrag_concurrent 'xtradb' w1 [ pass ]  58182
innodb.innodb-get-fk 'innodb_plugin'     w2 [ pass ]  14565
innodb.innodb-index 'innodb_plugin'      w2 [ pass ]   2943
innodb.innodb-index_ucs2 'innodb_plugin' w2 [ pass ]     83
innodb.innodb_defragment_fill_factor 'xtradb' w1 [ pass ]  15679
innodb.innodb-lock 'innodb_plugin'       w2 [ pass ]   2111
innodb.innodb_defrag_stats 'xtradb'      w3 [ pass ]  20211
innodb.innodb-mdev-7513 'innodb_plugin'  w2 [ pass ]   4255
encryption.innodb-bad-key-change4 'xtradb' w1 [ pass ]  14807
encryption.encryption_force 'xtradb'     w1 [ pass ]    255
innodb.innodb_defrag_stats_many_tables 'xtradb' w3 [ pass ]  48886
encryption.debug_key_management 'xtradb' w3 [ pass ]   4831
encryption.innodb_encryption_discard_import 'xtradb' w1 [ pass ]  63578
innodb.innodb_corrupt_bit 'xtradb'       w1 [ pass ]    253
innodb.innodb-page_compression_bzip2 'innodb_plugin' w2 [ pass ]  100974
innodb.innodb-page_compression_default 'innodb_plugin' w2 [ pass ]   3670
innodb.innodb_sys_semaphore_waits 'xtradb' w1 [ pass ]  15702
innodb.innodb_simulate_comp_failures 'xtradb' w1 [ pass ]  48517
innodb.innodb_simulate_comp_failures_small 'xtradb' w1 [ pass ]   4168
innodb.innodb-page_compression_lz4 'innodb_plugin' w2 [ pass ]  103737
encryption.innodb_lotoftables 'xtradb'   w3 [ pass ]  218955
innodb.innodb_mutexes 'xtradb'           w3 [ pass ]  11301
innodb.innodb_bug14676111 'xtradb'       w3 [ pass ]    161
innodb.innochecksum 'xtradb'             w3 [ pass ]  11051
innodb.innodb_bug12400341 'xtradb'       w3 [ pass ]   1187
innodb.innodb-page_compression_lzma 'innodb_plugin' w2 [ pass ]  121084
innodb.innodb_bug14147491 'xtradb'       w3 [ pass ]  10821
innodb.create_isl_with_direct 'xtradb'   w3 [ pass ]     56
innodb.innodb_force_pk 'xtradb'          w3 [ pass ]    230
innodb.innodb-mdev-7408 'xtradb'         w3 [ pass ]     86
innodb.group_commit_binlog_pos 'xtradb'  w3 [ pass ]   2572
innodb.binlog_consistent 'xtradb'        w3 [ pass ]    276
innodb.innodb-bigblob 'innodb_plugin'    w4 [ pass ]  861162
innodb.group_commit 'xtradb'             w4 [ pass ]     94
innodb.group_commit_crash 'xtradb'       w3 [ pass ]  16090
innodb.innodb_bug30919 'xtradb'          w3 [ pass ]  13404
innodb.innodb-mdev7046 'xtradb'          w3 [ pass ]    446
innodb.innodb-page_compression_lzo 'innodb_plugin' w2 [ pass ]  82438
innodb.insert_debug 'xtradb'             w3 [ pass ]    468
innodb.multi_repair-7404 'xtradb'        w3 [ pass ]    196
innodb.innodb_autoinc_lock_mode_zero 'xtradb' w3 [ pass ]     77
innodb.innodb_information_schema_buffer 'xtradb' w3 [ pass ]    497
innodb.innodb_bug42101-nonzero 'xtradb'  w3 [ pass ]      7
innodb.innodb_bug60049 'xtradb'          w3 [ pass ]   5436
innodb.innodb_bug39438 'xtradb'          w3 [ pass ]     40
innodb.innodb-lock-schedule-algorithm 'xtradb' w3 [ pass ]  13396
innodb.data_types 'xtradb'               w3 [ pass ]     74
innodb.innodb-stats-modified-counter 'xtradb' w3 [ pass ]     61
innodb.innodb_information_schema_tables 'xtradb' w3 [ pass ]    573
innodb.innodb-autoinc-56228 'xtradb'     w3 [ pass ]    110
innodb.innodb_mysql_rbk 'xtradb'         w3 [ pass ]   4583
innodb.innodb_lock_wait_timeout_1 'xtradb' w3 [ pass ]  18421
innodb.innodb_timeout_rollback 'xtradb'  w3 [ pass ]   2444
innodb.innodb-page_compression_snappy 'innodb_plugin' w2 [ pass ]  114474
innodb.innodb-consistent 'xtradb'        w3 [ pass ]    108
innodb.innodb-change-buffer-recovery 'xtradb' w4 [ pass ]  149360
innodb.innodb-semi-consistent 'xtradb'   w3 [ pass ]  11870
innodb.defrag_mdl-9155 'xtradb'          w4 [ pass ]   1820
innodb.innodb_bug60196 'xtradb'          w3 [ skipped ]  Test requires: 'lowercase2'
innodb.innodb-page_compression_tables 'innodb_plugin' w2 [ pass ]  20822
innodb.innodb_bug53756 'xtradb'          w4 [ pass ]   3080
innodb.innodb-page_compression_default 'xtradb' w4 [ pass ]   4836
innodb.innodb-wl5522-debug 'xtradb'      w3 [ pass ]  41262
innodb.sp_temp_table 'xtradb'            w3 [ pass ]  30493
innodb_zip.innodb_prefix_index_liftedlimit 'xtradb' w3 [ pass ]  10202
innodb.innodb-page_compression_zip 'innodb_plugin' w2 [ pass ]  97592
innodb.innodb-replace 'innodb_plugin'    w2 [ pass ]     23
innodb.innodb-stats-initialize-failure 'innodb_plugin' w2 [ pass ]   8238
innodb.innodb-stats-sample 'innodb_plugin' w2 [ pass ]   7266
innodb.innodb-timeout 'innodb_plugin'    w2 [ pass ]   4335
innodb.innodb-truncate 'innodb_plugin'   w2 [ pass ]    442
innodb.innodb-ucs2 'innodb_plugin'       w2 [ pass ]   1010
innodb.innodb-update-insert 'innodb_plugin' w2 [ pass ]     87
innodb.innodb-virtual-columns 'innodb_plugin' w2 [ pass ]    424
encryption.innodb-bad-key-change2 'xtradb' w3 [ pass ]  38702
innodb.innodb-wl5522 'innodb_plugin'     w2 [ pass ]  14981
innodb.innodb-page_compression_lz4 'xtradb' w4 [ pass ]  126412
innodb.innodb-wl5522-1 'innodb_plugin'   w2 [ pass ]   5420
encryption.innodb-bad-key-change3 'xtradb' w3 [ pass ]  26576
innodb.innodb-wl5522-debug-zip 'innodb_plugin' w2 [ pass ]  28843
encryption.innodb-encryption-disable 'xtradb' w3 [ pass ]  16666
innodb.innodb-wl5522-zip 'innodb_plugin' w2 [ pass ]  14266
innodb.innodb-xa 'innodb_plugin'         w2 [ pass ]     85
innodb.innodb_blob_truncate 'innodb_plugin' w2 [ pass ]    224
innodb.101_compatibility 'xtradb'        w3 [ pass ]  12071
innodb.add_constraint 'xtradb'           w3 [ pass ]    313
innodb.alter_key_block_size-11757 'xtradb' w3 [ pass ]    189
innodb.auto_increment_dup 'xtradb'       w3 [ pass ]     85
innodb.innodb_blob_unrecoverable_crash 'innodb_plugin' w2 [ pass ]   3173
innodb.blob-update-debug 'xtradb'        w3 [ pass ]     82
innodb.innodb_bug11754376 'innodb_plugin' w2 [ pass ]     34
innodb.blob_unique2pk 'xtradb'           w3 [ pass ]    261
innodb.innodb_bug12661768 'innodb_plugin' w2 [ pass ]     98
innodb.count_distinct 'xtradb'           w3 [ pass ]     53
innodb.create-index 'xtradb'             w3 [ pass ]     52
innodb.innodb_bug12902967 'innodb_plugin' w2 [ pass ]   8847
innodb.innodb_bug13510739 'innodb_plugin' w2 [ pass ]     30
innodb.innodb_bug14007649 'innodb_plugin' w2 [ pass ]     63
innodb.innodb_bug14704286 'innodb_plugin' w2 [ pass ]   6488
innodb.innodb_bug21704 'innodb_plugin'   w2 [ pass ]    137
innodb.doublewrite 'xtradb'              w3 [ pass ]  28645
innodb.dropdb 'xtradb'                   w3 [ pass ]      6
innodb.foreign-keys 'xtradb'             w3 [ pass ]    357
innodb.help_url 'xtradb'                 w3 [ pass ]     28
innodb.innodb-agregate 'xtradb'          w3 [ pass ]     55
innodb.innodb-alter-debug 'xtradb'       w3 [ pass ]    277
innodb.innodb-alter-discard 'xtradb'     w3 [ pass ]   4490
innodb.innodb-alter-nullable 'xtradb'    w3 [ pass ]    238
innodb.innodb-alter-table 'xtradb'       w3 [ pass ]  15456
innodb.innodb-page_compression_lzma 'xtradb' w4 [ pass ]  117673
innodb.innodb-alter-tempfile 'xtradb'    w3 [ pass ]   8592
innodb.innodb-alter-timestamp 'xtradb'   w3 [ pass ]    175
innodb.innodb-analyze 'xtradb'           w3 [ pass ]    124
innodb.innodb-autoinc-18274 'xtradb'     w3 [ pass ]    116
innodb.innodb-autoinc-61209 'xtradb'     w3 [ pass ]     40
innodb.innodb-autoinc-optimize 'xtradb'  w3 [ pass ]     81
innodb.innodb_bug30423 'innodb_plugin'   w2 [ pass ]  56198
innodb.innodb_bug34053 'innodb_plugin'   w2 [ pass ]    224
innodb.innodb_bug34300 'innodb_plugin'   w2 [ pass ]    320
innodb.innodb_bug35220 'innodb_plugin'   w2 [ pass ]     76
innodb.innodb_bug38231 'innodb_plugin'   w2 [ pass ]     65
innodb.innodb_bug40360 'innodb_plugin'   w2 [ pass ]     36
innodb.innodb_bug40565 'innodb_plugin'   w2 [ pass ]     28
innodb.innodb-blob 'xtradb'              w3 [ pass ]   8998
innodb.innodb_bug41904 'innodb_plugin'   w2 [ pass ]     52
innodb.innodb-bug-14068765 'xtradb'      w3 [ pass ]    462
innodb.innodb_bug42101 'innodb_plugin'   w2 [ pass ]      7
innodb.innodb-bug-14084530 'xtradb'      w3 [ pass ]    372
innodb.innodb_bug42419 'innodb_plugin'   w2 [ pass ]    277
innodb.innodb_bug44032 'innodb_plugin'   w2 [ pass ]     47
innodb.innodb_bug44369 'innodb_plugin'   w2 [ pass ]      6
innodb.innodb_bug44571 'innodb_plugin'   w2 [ pass ]     85
innodb.innodb_bug45357 'innodb_plugin'   w2 [ pass ]     61
innodb.innodb_bug46000 'innodb_plugin'   w2 [ pass ]     50
innodb.innodb_bug46676 'innodb_plugin'   w2 [ pass ]    199
innodb.innodb-corrupted-table 'xtradb'   w3 [ pass ]   5593
innodb.innodb-dict 'xtradb'              w3 [ pass ]   1056
innodb.innodb_bug47167 'innodb_plugin'   w2 [ pass ]   3781
innodb.innodb_bug47621 'innodb_plugin'   w2 [ pass ]    119
innodb.innodb_bug47622 'innodb_plugin'   w2 [ pass ]    121
innodb.innodb_bug47777 'innodb_plugin'   w2 [ pass ]     23
innodb.innodb_bug48024 'innodb_plugin'   w2 [ pass ]    134
innodb.innodb_bug35220 'xtradb'          w2 [ pass ]     55
innodb.innodb_bug38231 'xtradb'          w2 [ pass ]     62
innodb.innodb_bug40360 'xtradb'          w2 [ pass ]     35
innodb.innodb_bug40565 'xtradb'          w2 [ pass ]     47
innodb.innodb_bug41904 'xtradb'          w2 [ pass ]     66
innodb.innodb_bug42101 'xtradb'          w2 [ pass ]      8
innodb.innodb_bug42419 'xtradb'          w2 [ pass ]    271
innodb.innodb_bug44032 'xtradb'          w2 [ pass ]     45
innodb.innodb_bug44369 'xtradb'          w2 [ pass ]      3
innodb.innodb_bug44571 'xtradb'          w2 [ pass ]     54
innodb.innodb_bug45357 'xtradb'          w2 [ pass ]     32
innodb.innodb_bug46000 'xtradb'          w2 [ pass ]     32
innodb.innodb_bug46676 'xtradb'          w2 [ pass ]    162
innodb.innodb-fk 'xtradb'                w3 [ pass ]  15807
innodb.innodb-fk-warnings 'xtradb'       w3 [ pass ]    582
innodb.innodb-fkcheck 'xtradb'           w3 [ pass ]    166
innodb.innodb_bug47167 'xtradb'          w2 [ pass ]   4651
innodb.innodb_bug47621 'xtradb'          w2 [ pass ]    132
innodb.innodb_bug47622 'xtradb'          w2 [ pass ]    103
innodb.innodb_bug47777 'xtradb'          w2 [ pass ]     26
innodb.innodb_bug48024 'xtradb'          w2 [ pass ]    115
innodb.innodb_bug49164 'xtradb'          w2 [ pass ]     35
innodb.innodb_bug51378 'xtradb'          w2 [ pass ]    149
innodb.innodb_bug51920 'xtradb'          w2 [ pass ]     35
innodb.innodb_bug52199 'xtradb'          w2 [ pass ]     42
innodb.innodb-get-fk 'xtradb'            w3 [ pass ]  16795
innodb.innodb-index 'xtradb'             w3 [ pass ]   2731
innodb.innodb-index_ucs2 'xtradb'        w3 [ pass ]    123
innodb.innodb-lock 'xtradb'              w3 [ pass ]   2136
innodb.innodb-page_compression_lzo 'xtradb' w4 [ pass ]  74559
innodb.innodb-mdev-7513 'xtradb'         w3 [ pass ]   5357
innodb.innodb_bug52663 'xtradb'          w2 [ pass ]  51089
innodb.innodb_bug53046 'xtradb'          w2 [ pass ]     91
innodb.innodb_bug53290 'xtradb'          w2 [ pass ]  29967
innodb.innodb_bug53592 'xtradb'          w2 [ pass ]    271
innodb.innodb_bug54044 'xtradb'          w2 [ pass ]     55
innodb.innodb_bug56143 'xtradb'          w2 [ pass ]   3450
innodb.innodb_bug56716 'xtradb'          w2 [ pass ]     20
innodb.innodb_bug56947 'xtradb'          w2 [ pass ]     40
innodb.innodb_bug57252 'xtradb'          w2 [ pass ]     35
innodb.innodb_bug57255 'xtradb'          w2 [ pass ]   1012
innodb.innodb_bug57904 'xtradb'          w2 [ pass ]     36
innodb.innodb_bug59410 'xtradb'          w2 [ pass ]     39
innodb.innodb_bug59641 'xtradb'          w2 [ pass ]   8124
innodb.innodb_bug59733 'xtradb'          w2 [ pass ]   1734
innodb.innodb_bug60229 'xtradb'          w2 [ pass ]    110
innodb.innodb_bug68148 'xtradb'          w2 [ pass ]   5375
innodb.innodb_defragment_small 'xtradb'  w2 [ pass ]    328
innodb.innodb_file_format 'xtradb'       w2 [ pass ]   4825
innodb.innodb_gis 'xtradb'               w2 [ pass ]    620
innodb.innodb_information_schema 'xtradb' w2 [ pass ]    539
innodb.innodb_monitor 'xtradb'           w2 [ pass ]    358
innodb.innodb_multi_update 'xtradb'      w2 [ pass ]     95
innodb.innodb_notembedded 'xtradb'       w2 [ pass ]    249
innodb.innodb-page_compression_snappy 'xtradb' w4 [ pass ]  111826
innodb.innodb-page_compression_bzip2 'xtradb' w3 [ pass ]  114595
innodb.innodb_prefix_index_restart_server 'xtradb' w2 [ pass ]  15654
innodb.innodb_stats 'xtradb'             w2 [ pass ]    903
innodb.innodb_trx_weight 'xtradb'        w3 [ pass ]   1562
innodb.innodb_stats_create_on_corrupted 'xtradb' w2 [ pass ]   5248
innodb.innodb_stats_create_table 'xtradb' w2 [ pass ]     80
innodb.innodb_stats_drop_locked 'xtradb' w2 [ pass ]   2586
innodb.innodb_stats_fetch 'xtradb'       w2 [ pass ]    141
innodb.innodb-page_compression_tables 'xtradb' w4 [ pass ]  18846
innodb.innodb_stats_fetch_corrupted 'xtradb' w2 [ pass ]   5384
innodb.innodb_stats_fetch_nonexistent 'xtradb' w2 [ pass ]     75
innodb.innodb_stats_rename_table 'xtradb' w2 [ pass ]     38
innodb.innodb_stats_rename_table_if_exists 'xtradb' w2 [ pass ]    463
innodb.xa_recovery 'xtradb'              w2 [ pass ]   8561
innodb_zip.innodb-create-options 'xtradb' w2 [ pass ]   3021
innodb_zip.innodb-zip 'xtradb'           w2 [ pass ]   1861
innodb_zip.innodb_bug36169 'xtradb'      w2 [ pass ]    662
innodb_zip.innodb_bug36172 'xtradb'      w2 [ pass ]    257
innodb_zip.innodb_bug52745 'xtradb'      w2 [ pass ]    113
innodb_zip.innodb_bug53591 'xtradb'      w2 [ pass ]     41
innodb_zip.innodb_bug56680 'xtradb'      w2 [ pass ]   5911
innodb_zip.innodb_index_large_prefix 'xtradb' w2 [ pass ]   1457
innodb.log_file_size 'xtradb'            w3 [ pass ]  43165
innodb.mdev-117 'xtradb'                 w3 [ pass ]     53
innodb.innodb-bigblob 'xtradb'           w1 [ pass ]  873476
innodb.innodb-changed-pages 'xtradb'     w2 [ pass ]     31
innodb.fake_changes-7000 'xtradb'        w1 [ pass ]     21
encryption.filekeys_encfile_file 'xtradb' w2 [ pass ]     82
innodb.read_only_recovery 'xtradb'       w3 [ pass ]  10765
innodb.row_lock 'xtradb'                 w3 [ pass ]    111
encryption.filekeys_encfile_badfile 'xtradb' w1 [ pass ]     59
innodb.strict_mode 'xtradb'              w3 [ pass ]    418
encryption.filekeys_encfile_bad 'xtradb' w2 [ pass ]     76
encryption.filekeys_unencfile 'xtradb'   w1 [ pass ]     78
encryption.filekeys_encfile 'xtradb'     w2 [ pass ]    220
innodb.system_tables 'xtradb'            w3 [ pass ]   5476
innodb.table_index_statistics 'xtradb'   w3 [ pass ]    109
innodb.tmpdir 'xtradb'                   w3 [ pass ]    722
innodb.trigger 'xtradb'                  w3 [ pass ]     97
encryption.filekeys_tooshort 'xtradb'    w1 [ pass ]     37
encryption.filekeys_encfile_no 'xtradb'  w2 [ pass ]     53
encryption.filekeys_emptyfile 'xtradb'   w3 [ pass ]     73
encryption.filekeys_syntax 'xtradb'      w1 [ pass ]    564
encryption.filekeys_nofile 'xtradb'      w2 [ pass ]     57
innodb.innodb_skip_innodb_is_tables      w3 [ pass ]     46
innodb.innodb-replace 'xtradb'           w3 [ pass ]     70
innodb.innodb_defrag_binlog 'row,xtradb' w2 [ pass ]   1046
innodb.innodb_defrag_binlog 'innodb_plugin,row' w1 [ pass ]   1447
innodb.innodb-stats-initialize-failure 'xtradb' w3 [ pass ]   7551
innodb.innodb-truncate 'xtradb'          w3 [ pass ]    445
innodb.innodb-ucs2 'xtradb'              w3 [ pass ]   1003
innodb.innodb-update-insert 'xtradb'     w3 [ pass ]    126
innodb.innodb-virtual-columns 'xtradb'   w3 [ pass ]    571
innodb.innodb-timeout 'xtradb'           w1 [ pass ]   4916
innodb.innodb-page_compression_zip 'xtradb' w4 [ pass ]  75896
innodb.innodb-stats-sample 'xtradb'      w2 [ pass ]   8670
innodb.innodb-wl5522-1 'xtradb'          w1 [ pass ]   7567
innodb.innodb-xa 'xtradb'                w1 [ pass ]     17
innodb.innodb_blob_truncate 'xtradb'     w1 [ pass ]    112
innodb.innodb_blob_unrecoverable_crash 'xtradb' w1 [ pass ]   2962
innodb.innodb_bug11754376 'xtradb'       w1 [ pass ]     20
innodb.innodb_bug12661768 'xtradb'       w1 [ pass ]     78
innodb.innodb-wl5522 'xtradb'            w3 [ pass ]  17740
innodb.innodb_bug13510739 'xtradb'       w3 [ pass ]     47
innodb.innodb_bug14007649 'xtradb'       w3 [ pass ]     73
innodb.innodb-wl5522-zip 'xtradb'        w2 [ pass ]  15848
innodb.innodb_bug21704 'xtradb'          w2 [ pass ]    183
innodb.innodb_bug12902967 'xtradb'       w1 [ pass ]  10983
innodb.innodb_bug34053 'xtradb'          w1 [ pass ]    208
innodb.innodb_bug34300 'xtradb'          w1 [ pass ]    518
innodb.innodb_bug14704286 'xtradb'       w3 [ pass ]   8444
innodb.innodb-wl5522-debug-zip 'xtradb'  w4 [ pass ]  29604
innodb.innodb_bug30423 'xtradb'          w2 [ pass ]  32161
--------------------------------------------------------------------------
The servers were restarted 234 times
Spent 8595.198 of 2472 seconds executing testcases
 
Completed: All 547 tests were successful.
 
16 tests were skipped, 16 by the test itself.

10.2:

Comment by Jan Lindström (Inactive) [ 2017-04-28 ]

10.1:
commit 765a43605a42c069ede604826ede2d93d72c4fdd
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date: Wed Apr 26 15:19:16 2017 +0300

MDEV-12253: Buffer pool blocks are accessed after they have been freed

Problem was that bpage was referenced after it was already freed
from LRU. Fixed by adding a new variable encrypted that is
passed down to buf_page_check_corrupt() and used in
buf_page_get_gen() to stop processing page read.

This patch should also address following test failures and
bugs:

MDEV-12419: IMPORT should not look up tablespace in
PageConverter::validate(). This is now removed.

MDEV-10099: encryption.innodb_onlinealter_encryption fails
sporadically in buildbot

MDEV-11420: encryption.innodb_encryption-page-compression
failed in buildbot

MDEV-11222: encryption.encrypt_and_grep failed in buildbot on P8

Removed dict_table_t::is_encrypted and dict_table_t::ibd_file_missing
and replaced these with dict_table_t::file_unreadable. Table
ibd file is missing if fil_get_space(space_id) returns NULL
and encrypted if not. Removed dict_table_t::is_corrupted field.

Ported FilSpace class from 10.2 and using that on buf_page_check_corrupt(),
buf_page_decrypt_after_read(), buf_page_encrypt_before_write(),
buf_dblwr_process(), buf_read_page(), dict_stats_save_defrag_stats().

Added test cases when enrypted page could be read while doing
redo log crash recovery. Also added test case for row compressed
blobs.

btr_cur_open_at_index_side_func(),
btr_cur_open_at_rnd_pos_func(): Avoid referencing block that is
NULL.

buf_page_get_zip(): Issue error if page read fails.

buf_page_get_gen(): Use dberr_t for error detection and
do not reference bpage after we hare freed it.

buf_mark_space_corrupt(): remove bpage from LRU also when
it is encrypted.

buf_page_check_corrupt(): @return DB_SUCCESS if page has
been read and is not corrupted,
DB_PAGE_CORRUPTED if page based on checksum check is corrupted,
DB_DECRYPTION_FAILED if page post encryption checksum matches but
after decryption normal page checksum does not match. In read
case only DB_SUCCESS is possible.

buf_page_io_complete(): use dberr_t for error handling.

buf_flush_write_block_low(),
buf_read_ahead_random(),
buf_read_page_async(),
buf_read_ahead_linear(),
buf_read_ibuf_merge_pages(),
buf_read_recv_pages(),
fil_aio_wait():
Issue error if page read fails.

btr_pcur_move_to_next_page(): Do not reference page if it is
NULL.

Introduced dict_table_t::is_readable() and dict_index_t::is_readable()
that will return true if tablespace exists and pages read from
tablespace are not corrupted or page decryption failed.
Removed buf_page_t::key_version. After page decryption the
key version is not removed from page frame. For unencrypted
pages, old key_version is removed at buf_page_encrypt_before_write()

dict_stats_update_transient_for_index(),
dict_stats_update_transient()
Do not continue if table decryption failed or table
is corrupted.

dict0stats.cc: Introduced a dict_stats_report_error function
to avoid code duplication.

fil_parse_write_crypt_data():
Check that key read from redo log entry is found from
encryption plugin and if it is not, refuse to start.

PageConverter::validate(): Removed access to fil_space_t as
tablespace is not available during import.

Fixed error code on innodb.innodb test.

Merged test cased innodb-bad-key-change5 and innodb-bad-key-shutdown
to innodb-bad-key-change2. Removed innodb-bad-key-change5 test.
Decreased unnecessary complexity on some long lasting tests.

Removed fil_inc_pending_ops(), fil_decr_pending_ops(),
fil_get_first_space(), fil_get_next_space(),
fil_get_first_space_safe(), fil_get_next_space_safe()
functions.

fil_space_verify_crypt_checksum(): Fixed bug found using ASAN
where FIL_PAGE_END_LSN_OLD_CHECKSUM field was incorrectly
accessed from row compressed tables. Fixed out of page frame
bug for row compressed tables in
fil_space_verify_crypt_checksum() found using ASAN. Incorrect
function was called for compressed table.

Added new tests for discard, rename table and drop (we should allow them
even when page decryption fails). Alter table rename is not allowed.
Added test for restart with innodb-force-recovery=1 when page read on
redo-recovery cant be decrypted. Added test for corrupted table where
both page data and FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION is corrupted.

Adjusted the test case innodb_bug14147491 so that it does not anymore
expect crash. Instead table is just mostly not usable.

fil0fil.h: fil_space_acquire_low is not visible function
and fil_space_acquire and fil_space_acquire_silent are
inline functions. FilSpace class uses fil_space_acquire_low
directly.

recv_apply_hashed_log_recs() does not return anything.

Comment by Marko Mäkelä [ 2017-05-05 ]

I think that this fix is to some extent introducing MDEV-4777 for InnoDB, by trying to block all access to tables when any corruption has been noticed.

When a page cannot be read or decrypted during crash recovery, we must spend some more effort, as noted in MDEV-12699.

Generated at Thu Feb 08 07:56:18 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.