Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.217.163.75
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
mysql /
mysql-test /
suite /
innodb /
t /
[ HOME SHELL ]
Name
Size
Permission
Action
add_foreign_key.test
1.35
KB
-rw-r--r--
alter_crash.test
6.71
KB
-rw-r--r--
alter_foreign_crash.test
956
B
-rw-r--r--
alter_kill-master.opt
68
B
-rw-r--r--
alter_kill.test
5.1
KB
-rw-r--r--
alter_missing_tablespace.test
3.05
KB
-rw-r--r--
alter_page_size.test
705
B
-rw-r--r--
alter_rename_existing.test
5.49
KB
-rw-r--r--
alter_rename_files.test
746
B
-rw-r--r--
alter_row_format.test
1.47
KB
-rw-r--r--
alter_table_redundant.test
481
B
-rw-r--r--
alter_table_stage_progress-mas...
53
B
-rw-r--r--
alter_table_stage_progress.tes...
1.04
KB
-rw-r--r--
analyze_index.test
994
B
-rw-r--r--
analyze_table.test
896
B
-rw-r--r--
attachable_trx.test
3.32
KB
-rw-r--r--
autoinc_debug.test
2.14
KB
-rw-r--r--
blob-crash-16k.test
2.66
KB
-rw-r--r--
blob-crash-4k.test
2.76
KB
-rw-r--r--
blob-crash.test
5.95
KB
-rw-r--r--
blob-update-debug.test
525
B
-rw-r--r--
blob_page_reserve.test
3.73
KB
-rw-r--r--
blob_redo-master.opt
57
B
-rw-r--r--
blob_redo.test
1.71
KB
-rw-r--r--
buf_pool_resize_oom-master.opt
37
B
-rw-r--r--
buf_pool_resize_oom.test
1.72
KB
-rw-r--r--
bulk_create_index_online.test
1.96
KB
-rw-r--r--
cascade_lock_wait.test
1014
B
-rw-r--r--
check_ibd_filesize_16k.test
1.89
KB
-rw-r--r--
check_sector_size-master.opt
125
B
-rw-r--r--
check_sector_size.test
1.95
KB
-rw-r--r--
checksum.test
681
B
-rw-r--r--
cmp_per_index-master.opt
63
B
-rw-r--r--
cmp_per_index.test
2.5
KB
-rw-r--r--
crc32_endianness.test
1.67
KB
-rw-r--r--
crc32_endianness.zip
1.86
KB
-rw-r--r--
create-index.test
314
B
-rw-r--r--
create_isl_with_direct-master....
31
B
-rw-r--r--
create_isl_with_direct.test
1.1
KB
-rw-r--r--
create_table.test
1.33
KB
-rw-r--r--
create_tablespace.test
36.63
KB
-rw-r--r--
create_tablespace_16k.test
26.23
KB
-rw-r--r--
create_tablespace_32k.test
3.97
KB
-rw-r--r--
create_tablespace_4k.test
14.72
KB
-rw-r--r--
create_tablespace_64k.test
4.12
KB
-rw-r--r--
create_tablespace_8k.test
19.2
KB
-rw-r--r--
create_tablespace_debug.test
3.97
KB
-rw-r--r--
create_tablespace_notembedded....
670
B
-rw-r--r--
create_tablespace_partition.te...
10.38
KB
-rw-r--r--
create_tablespace_replication....
1.76
KB
-rw-r--r--
deadlock_detect.test
921
B
-rw-r--r--
default_row_format.test
1.62
KB
-rw-r--r--
default_row_format_16k.test
9.49
KB
-rw-r--r--
default_row_format_compatibili...
5.75
KB
-rw-r--r--
default_row_format_tablespace....
1.16
KB
-rw-r--r--
deprecate_part_in_shared_ts.te...
4.38
KB
-rw-r--r--
disabled.def
404
B
-rw-r--r--
doublewrite.test
10.88
KB
-rw-r--r--
dropdb.test
251
B
-rw-r--r--
end_range_check.test
3.2
KB
-rw-r--r--
end_range_check_2.test
1.25
KB
-rw-r--r--
events-merge-tmp-path-master.o...
149
B
-rw-r--r--
events-merge-tmp-path.test
1.65
KB
-rw-r--r--
file_format_defaults-master.op...
122
B
-rw-r--r--
file_format_defaults.test
2.14
KB
-rw-r--r--
file_format_upgrade_16k.test
1.91
KB
-rw-r--r--
flush-hang.test
1.51
KB
-rw-r--r--
foreign_key.test
7.61
KB
-rw-r--r--
fts_exec_interrupt.test
961
B
-rw-r--r--
help_verbose.test
1.01
KB
-rw-r--r--
high_prio_trx_1.test
1.24
KB
-rw-r--r--
high_prio_trx_2.test
1.3
KB
-rw-r--r--
high_prio_trx_3.test
1.86
KB
-rw-r--r--
high_prio_trx_4.test
1.5
KB
-rw-r--r--
high_prio_trx_5.test
2.24
KB
-rw-r--r--
high_prio_trx_6.test
2
KB
-rw-r--r--
high_prio_trx_7.test
11.13
KB
-rw-r--r--
high_prio_trx_commit_crash.tes...
2.05
KB
-rw-r--r--
high_prio_trx_debug.test
1.6
KB
-rw-r--r--
high_prio_trx_fk.test
1.42
KB
-rw-r--r--
high_prio_trx_predicate.test
1.41
KB
-rw-r--r--
high_prio_trx_rpl.test
1.95
KB
-rw-r--r--
i_s_files_debug.test
751
B
-rw-r--r--
ibuf_not_empty-master.opt
30
B
-rw-r--r--
ibuf_not_empty.test
1.67
KB
-rw-r--r--
import.test
763
B
-rw-r--r--
import_compress_encrypt.test
6.84
KB
-rw-r--r--
import_compress_encrypt_upgrad...
2.46
KB
-rw-r--r--
import_export_4k.test
1.06
KB
-rw-r--r--
import_tablespace_page_corrupt...
1.2
KB
-rw-r--r--
import_tablespace_schema_missm...
3.56
KB
-rw-r--r--
import_update_stats.test
1.46
KB
-rw-r--r--
index-online-norebuild.test
1.8
KB
-rw-r--r--
index_length.test
1.28
KB
-rw-r--r--
index_merge_threshold.test
6.25
KB
-rw-r--r--
index_tree_operation.test
2.36
KB
-rw-r--r--
innodb-2byte-collation-master....
48
B
-rw-r--r--
innodb-2byte-collation.test
2.95
KB
-rw-r--r--
innodb-ac-non-locking-select.t...
3
KB
-rw-r--r--
innodb-alter-autoinc.test
2.53
KB
-rw-r--r--
innodb-alter-debug-wl6554-mast...
21
B
-rw-r--r--
innodb-alter-debug-wl6554.test
8.65
KB
-rw-r--r--
innodb-alter-debug.test
2.68
KB
-rw-r--r--
innodb-alter-nullable.test
1.93
KB
-rw-r--r--
innodb-alter-wl6554.test
2.26
KB
-rw-r--r--
innodb-alter.test
15.61
KB
-rw-r--r--
innodb-analyze.test
1.65
KB
-rw-r--r--
innodb-autoinc-18274.test
661
B
-rw-r--r--
innodb-autoinc-44030-master.op...
81
B
-rw-r--r--
innodb-autoinc-44030.test
1.61
KB
-rw-r--r--
innodb-autoinc-56228-master.op...
29
B
-rw-r--r--
innodb-autoinc-56228.test
784
B
-rw-r--r--
innodb-autoinc-master.opt
81
B
-rw-r--r--
innodb-autoinc-optimize.test
432
B
-rw-r--r--
innodb-autoinc.test
26.79
KB
-rw-r--r--
innodb-blob.test
6.62
KB
-rw-r--r--
innodb-bug-14068765.test
2.97
KB
-rw-r--r--
innodb-bug-14084530.test
966
B
-rw-r--r--
innodb-bug12552164.test
1.46
KB
-rw-r--r--
innodb-bug14219515.test
472
B
-rw-r--r--
innodb-change-buffer-recovery-...
92
B
-rw-r--r--
innodb-change-buffer-recovery....
2.3
KB
-rw-r--r--
innodb-consistent-master.opt
29
B
-rw-r--r--
innodb-consistent.test
1.24
KB
-rw-r--r--
innodb-import-partition-rpl.te...
3.46
KB
-rw-r--r--
innodb-import-partition.test
9.51
KB
-rw-r--r--
innodb-index-debug-master.opt
30
B
-rw-r--r--
innodb-index-debug.test
4.39
KB
-rw-r--r--
innodb-index-master.opt
30
B
-rw-r--r--
innodb-index-online-delete.tes...
1.06
KB
-rw-r--r--
innodb-index-online-fk.test
15.6
KB
-rw-r--r--
innodb-index-online-master.opt
127
B
-rw-r--r--
innodb-index-online-purge.test
2.07
KB
-rw-r--r--
innodb-index-online.test
13.83
KB
-rw-r--r--
innodb-index.test
33.48
KB
-rw-r--r--
innodb-index_ucs2.test
124
B
-rw-r--r--
innodb-isolation.test
11.03
KB
-rw-r--r--
innodb-large-prefix.test
1.13
KB
-rw-r--r--
innodb-lock-inherit-read_commi...
2.58
KB
-rw-r--r--
innodb-lock.test
4.86
KB
-rw-r--r--
innodb-master.opt
136
B
-rw-r--r--
innodb-multiple-tablespaces.te...
18.21
KB
-rw-r--r--
innodb-read-view.test
4.52
KB
-rw-r--r--
innodb-replace-debug.test
399
B
-rw-r--r--
innodb-semi-consistent-master....
29
B
-rw-r--r--
innodb-semi-consistent.test
1.83
KB
-rw-r--r--
innodb-status-output.test
2.86
KB
-rw-r--r--
innodb-system-table-view.test
5.99
KB
-rw-r--r--
innodb-table-online-master.opt
126
B
-rw-r--r--
innodb-table-online.test
11.63
KB
-rw-r--r--
innodb-timeout.test
3.63
KB
-rw-r--r--
innodb-truncate-debug.test
5.27
KB
-rw-r--r--
innodb-truncate.test
2.03
KB
-rw-r--r--
innodb-ucs2.test
11.43
KB
-rw-r--r--
innodb-update-insert.test
848
B
-rw-r--r--
innodb-wl5522-1.test
145
B
-rw-r--r--
innodb-wl5522-debug.test
31
KB
-rw-r--r--
innodb-wl5522.test
20.25
KB
-rw-r--r--
innodb-wl5980-alter.test
18.47
KB
-rw-r--r--
innodb-wl5980-debug.test
2.58
KB
-rw-r--r--
innodb-wl5980-discard.test
23.6
KB
-rw-r--r--
innodb-wl5980-linux-master.opt
28
B
-rw-r--r--
innodb-wl5980-linux.test
7.75
KB
-rw-r--r--
innodb-wl5980-windows-master.o...
28
B
-rw-r--r--
innodb-wl5980-windows.test
8.42
KB
-rw-r--r--
innodb-wl6045-1-master.opt
77
B
-rw-r--r--
innodb-wl6045-1.test
6.84
KB
-rw-r--r--
innodb-wl6045-linux.test
12.82
KB
-rw-r--r--
innodb-wl6445-1.test
21.96
KB
-rw-r--r--
innodb-wl6445-2.test
7.4
KB
-rw-r--r--
innodb-wl6445.test
2.3
KB
-rw-r--r--
innodb.test
79.88
KB
-rw-r--r--
innodb_32k.test
198
B
-rw-r--r--
innodb_64k-master.opt
29
B
-rw-r--r--
innodb_64k.test
663
B
-rw-r--r--
innodb_autoinc_lock_mode_zero-...
29
B
-rw-r--r--
innodb_autoinc_lock_mode_zero....
1.1
KB
-rw-r--r--
innodb_autoinc_reset.test
519
B
-rw-r--r--
innodb_buffer_pool_dump_pct.te...
4.74
KB
-rw-r--r--
innodb_buffer_pool_load-master...
30
B
-rw-r--r--
innodb_buffer_pool_load.test
7.62
KB
-rw-r--r--
innodb_buffer_pool_load_now-ma...
113
B
-rw-r--r--
innodb_buffer_pool_load_now.te...
5.88
KB
-rw-r--r--
innodb_buffer_pool_resize-mast...
29
B
-rw-r--r--
innodb_buffer_pool_resize.test
2.26
KB
-rw-r--r--
innodb_buffer_pool_resize_debu...
64
B
-rw-r--r--
innodb_buffer_pool_resize_debu...
7.37
KB
-rw-r--r--
innodb_buffer_pool_resize_with...
65
B
-rw-r--r--
innodb_buffer_pool_resize_with...
2.06
KB
-rw-r--r--
innodb_bug-13628249.test
2.26
KB
-rw-r--r--
innodb_bug11754376.test
406
B
-rw-r--r--
innodb_bug11766634-master.opt
16
B
-rw-r--r--
innodb_bug11766634.test
1.82
KB
-rw-r--r--
innodb_bug11789106.test
546
B
-rw-r--r--
innodb_bug11933790.test
928
B
-rw-r--r--
innodb_bug12400341-master.opt
75
B
-rw-r--r--
innodb_bug12400341.test
2.65
KB
-rw-r--r--
innodb_bug12429573.test
1.4
KB
-rw-r--r--
innodb_bug12661768.test
2.03
KB
-rw-r--r--
innodb_bug14006907.test
1.38
KB
-rw-r--r--
innodb_bug14007109.test
1.19
KB
-rw-r--r--
innodb_bug14007649.test
1.1
KB
-rw-r--r--
innodb_bug14147491-master.opt
103
B
-rw-r--r--
innodb_bug14147491.test
2.76
KB
-rw-r--r--
innodb_bug14169459.test
1.96
KB
-rw-r--r--
innodb_bug14676111.test
3.92
KB
-rw-r--r--
innodb_bug14704286.test
2.03
KB
-rw-r--r--
innodb_bug19164038-master.opt
30
B
-rw-r--r--
innodb_bug19164038.test
1.27
KB
-rw-r--r--
innodb_bug21704.test
1.66
KB
-rw-r--r--
innodb_bug30113362.test
6.65
KB
-rw-r--r--
innodb_bug30423.test
6.45
KB
-rw-r--r--
innodb_bug30594501-master.opt
31
B
-rw-r--r--
innodb_bug30594501.test
552
B
-rw-r--r--
innodb_bug30919-master.opt
29
B
-rw-r--r--
innodb_bug30919.test
2.31
KB
-rw-r--r--
innodb_bug31205266.test
1.56
KB
-rw-r--r--
innodb_bug34053.test
1.6
KB
-rw-r--r--
innodb_bug34300.test
881
B
-rw-r--r--
innodb_bug35220.test
416
B
-rw-r--r--
innodb_bug38231.test
1.64
KB
-rw-r--r--
innodb_bug39438-master.opt
26
B
-rw-r--r--
innodb_bug39438.test
2.19
KB
-rw-r--r--
innodb_bug40360.test
340
B
-rw-r--r--
innodb_bug40565.test
327
B
-rw-r--r--
innodb_bug41904.test
328
B
-rw-r--r--
innodb_bug42101-nonzero-master...
30
B
-rw-r--r--
innodb_bug42101-nonzero.test
653
B
-rw-r--r--
innodb_bug42101.test
577
B
-rw-r--r--
innodb_bug42419.test
2.19
KB
-rw-r--r--
innodb_bug44032.test
543
B
-rw-r--r--
innodb_bug44369.test
530
B
-rw-r--r--
innodb_bug44571.test
788
B
-rw-r--r--
innodb_bug45357.test
326
B
-rw-r--r--
innodb_bug46000.test
941
B
-rw-r--r--
innodb_bug46676.test
602
B
-rw-r--r--
innodb_bug47167-master.opt
16
B
-rw-r--r--
innodb_bug47167.test
1.41
KB
-rw-r--r--
innodb_bug47621.test
1.79
KB
-rw-r--r--
innodb_bug47622.test
1.58
KB
-rw-r--r--
innodb_bug47777.test
972
B
-rw-r--r--
innodb_bug48024.test
863
B
-rw-r--r--
innodb_bug49164.test
928
B
-rw-r--r--
innodb_bug51378.test
2.53
KB
-rw-r--r--
innodb_bug51920.test
988
B
-rw-r--r--
innodb_bug52199.test
210
B
-rw-r--r--
innodb_bug52663.test
1003
B
-rw-r--r--
innodb_bug53046.test
1.13
KB
-rw-r--r--
innodb_bug53290.test
840
B
-rw-r--r--
innodb_bug53592.test
2.6
KB
-rw-r--r--
innodb_bug53674-master.opt
65
B
-rw-r--r--
innodb_bug53674.test
259
B
-rw-r--r--
innodb_bug53756-master.opt
36
B
-rw-r--r--
innodb_bug53756.test
4.62
KB
-rw-r--r--
innodb_bug54044.test
606
B
-rw-r--r--
innodb_bug56143.test
74.27
KB
-rw-r--r--
innodb_bug56716.test
268
B
-rw-r--r--
innodb_bug56947.test
472
B
-rw-r--r--
innodb_bug57252.test
1.27
KB
-rw-r--r--
innodb_bug57255.test
889
B
-rw-r--r--
innodb_bug57904.test
908
B
-rw-r--r--
innodb_bug59307.test
633
B
-rw-r--r--
innodb_bug59410.test
926
B
-rw-r--r--
innodb_bug59641.test
1.17
KB
-rw-r--r--
innodb_bug59733.test
2
KB
-rw-r--r--
innodb_bug60049-master.opt
25
B
-rw-r--r--
innodb_bug60049.test
1.76
KB
-rw-r--r--
innodb_bug60196-master.opt
27
B
-rw-r--r--
innodb_bug60196.test
3.15
KB
-rw-r--r--
innodb_bug60229.test
1.34
KB
-rw-r--r--
innodb_bug70867.test
1.29
KB
-rw-r--r--
innodb_bulk_create_index.test
1.89
KB
-rw-r--r--
innodb_bulk_create_index_debug...
651
B
-rw-r--r--
innodb_bulk_create_index_flush...
1.34
KB
-rw-r--r--
innodb_bulk_create_index_repli...
4.66
KB
-rw-r--r--
innodb_bulk_create_index_small...
2.81
KB
-rw-r--r--
innodb_corrupt_bit.test
2.67
KB
-rw-r--r--
innodb_corrupt_readonly.test
1.34
KB
-rw-r--r--
innodb_ctype_ldml-master.opt
80
B
-rw-r--r--
innodb_ctype_ldml.test
15.36
KB
-rw-r--r--
innodb_deadlock_with_autoinc-m...
29
B
-rw-r--r--
innodb_deadlock_with_autoinc.t...
1.22
KB
-rw-r--r--
innodb_file_format-master.opt
16
B
-rw-r--r--
innodb_file_format.test
1.32
KB
-rw-r--r--
innodb_file_limit_check.test
829
B
-rw-r--r--
innodb_force_recovery.test
3.19
KB
-rw-r--r--
innodb_fts_limit_check.test
891
B
-rw-r--r--
innodb_i_s_innodb_locks.test
4.54
KB
-rw-r--r--
innodb_i_s_innodb_trx.test
2.36
KB
-rw-r--r--
innodb_information_schema_buff...
2.39
KB
-rw-r--r--
innodb_io_pf.test
398
B
-rw-r--r--
innodb_lock_wait_timeout_1-mas...
29
B
-rw-r--r--
innodb_lock_wait_timeout_1.tes...
8.06
KB
-rw-r--r--
innodb_misc1-master.opt
55
B
-rw-r--r--
innodb_misc1.test
31.97
KB
-rw-r--r--
innodb_multi_update.test
2.04
KB
-rw-r--r--
innodb_mysql-master.opt
82
B
-rw-r--r--
innodb_mysql.test
27.09
KB
-rw-r--r--
innodb_mysql_rbk-master.opt
60
B
-rw-r--r--
innodb_mysql_rbk.test
849
B
-rw-r--r--
innodb_notembedded.test
1.13
KB
-rw-r--r--
innodb_page_size_func.test
11.26
KB
-rw-r--r--
innodb_pagesize_max_recordsize...
17.3
KB
-rw-r--r--
innodb_prefix_index_check.test
1.25
KB
-rw-r--r--
innodb_prefix_index_restart_se...
3.51
KB
-rw-r--r--
innodb_rename_index.test
16.76
KB
-rw-r--r--
innodb_rename_index_err.test
2.01
KB
-rw-r--r--
innodb_replace.test
5.42
KB
-rw-r--r--
innodb_row_log_read.test
1.42
KB
-rw-r--r--
innodb_stats.test
1.89
KB
-rw-r--r--
innodb_stats_auto_recalc.test
1.76
KB
-rw-r--r--
innodb_stats_auto_recalc_ddl.t...
1.65
KB
-rw-r--r--
innodb_stats_auto_recalc_lots....
932
B
-rw-r--r--
innodb_stats_auto_recalc_on_no...
1.87
KB
-rw-r--r--
innodb_stats_create_on_corrupt...
1.32
KB
-rw-r--r--
innodb_stats_create_table.test
1.43
KB
-rw-r--r--
innodb_stats_del_mark-master.o...
40
B
-rw-r--r--
innodb_stats_del_mark.test
3.6
KB
-rw-r--r--
innodb_stats_drop_locked.test
1.41
KB
-rw-r--r--
innodb_stats_external_pages.te...
2.62
KB
-rw-r--r--
innodb_stats_fetch.test
2.13
KB
-rw-r--r--
innodb_stats_fetch_corrupted.t...
1.64
KB
-rw-r--r--
innodb_stats_fetch_nonexistent...
1.14
KB
-rw-r--r--
innodb_stats_flag_global_off-m...
28
B
-rw-r--r--
innodb_stats_flag_global_off.t...
324
B
-rw-r--r--
innodb_stats_flag_global_on-ma...
28
B
-rw-r--r--
innodb_stats_flag_global_on.te...
323
B
-rw-r--r--
innodb_stats_rename_table.test
1.25
KB
-rw-r--r--
innodb_stats_rename_table_if_e...
1.43
KB
-rw-r--r--
innodb_stats_sample_pages.test
1.72
KB
-rw-r--r--
innodb_stats_table_flag_auto_r...
2.23
KB
-rw-r--r--
innodb_stats_table_flag_sample...
2.73
KB
-rw-r--r--
innodb_sys_var_valgrind.test
1.99
KB
-rw-r--r--
innodb_tablespace.test
13.91
KB
-rw-r--r--
innodb_tablespace_zip.test
1.32
KB
-rw-r--r--
innodb_thread_concurrency_debu...
1.16
KB
-rw-r--r--
innodb_timeout_rollback-master...
58
B
-rw-r--r--
innodb_timeout_rollback.test
108
B
-rw-r--r--
innodb_trx_weight.test
3.72
KB
-rw-r--r--
innodb_upd_stats_if_needed_not...
1.04
KB
-rw-r--r--
innodb_ut_format_name.test
298
B
-rw-r--r--
innodb_wl6326.test
14.46
KB
-rw-r--r--
innodb_wl6326_big.test
24.37
KB
-rw-r--r--
innodb_wl6469_1.test
2.08
KB
-rw-r--r--
innodb_wl6469_debug.test
2.94
KB
-rw-r--r--
innodb_wl6470.test
4.42
KB
-rw-r--r--
innodb_wl6470_debug.test
1.78
KB
-rw-r--r--
innodb_wl6501_crash_1.test
798
B
-rw-r--r--
innodb_wl6501_crash_2.test
798
B
-rw-r--r--
innodb_wl6501_crash_6.test
713
B
-rw-r--r--
innodb_wl6501_crash_7.test
713
B
-rw-r--r--
innodb_wl6501_crash_8.test
2.39
KB
-rw-r--r--
innodb_wl6560_1.test
11.71
KB
-rw-r--r--
innodb_wl6560_debug.test
5.9
KB
-rw-r--r--
innodb_wl6915.test
3.99
KB
-rw-r--r--
innodb_wl6915_debug.test
5.43
KB
-rw-r--r--
innodb_wl8114.test
1.52
KB
-rw-r--r--
insert_debug.test
1.13
KB
-rw-r--r--
iodku.test
5.65
KB
-rw-r--r--
iodku_debug.test
6.38
KB
-rw-r--r--
log_alter_table.test
1.81
KB
-rw-r--r--
log_corruption.test
7.06
KB
-rw-r--r--
log_corruption.zip
92.47
KB
-rw-r--r--
log_corruption0.zip
1.18
KB
-rw-r--r--
log_corruption1.zip
1.23
KB
-rw-r--r--
log_corruption2.zip
1.27
KB
-rw-r--r--
log_corruption3.zip
1.27
KB
-rw-r--r--
log_corruption4.zip
1.28
KB
-rw-r--r--
log_corruption4a.zip
1.28
KB
-rw-r--r--
log_corruption5.zip
1.28
KB
-rw-r--r--
log_corruption6.zip
1.28
KB
-rw-r--r--
log_file.test
8.9
KB
-rw-r--r--
log_file_name.test
9.17
KB
-rw-r--r--
log_file_name_debug.test
751
B
-rw-r--r--
log_file_size.test
6.3
KB
-rw-r--r--
log_file_size_1-master.opt
14
B
-rw-r--r--
log_file_size_1.test
8.45
KB
-rw-r--r--
log_file_size_checkpoint.test
1.14
KB
-rw-r--r--
missing_tablespaces.test
2.34
KB
-rw-r--r--
monitor.test
13.96
KB
-rw-r--r--
monitor_restart.test
807
B
-rw-r--r--
mysqldump_max_recordsize.test
13.96
KB
-rw-r--r--
optimizer_temporary_table-mast...
15
B
-rw-r--r--
optimizer_temporary_table.test
4.63
KB
-rw-r--r--
page_reorganize.test
1.31
KB
-rw-r--r--
partition-blob.test
1.43
KB
-rw-r--r--
partition-upgrade.test
7.46
KB
-rw-r--r--
partition.test
20.89
KB
-rw-r--r--
portability_wl5980_linux.zip
473.02
KB
-rw-r--r--
portability_wl5980_windows.zip
514.24
KB
-rw-r--r--
readahead.test
679
B
-rw-r--r--
readonly.test
1.17
KB
-rw-r--r--
records_in_range.test
24.93
KB
-rw-r--r--
redo_log_during_checkpoint.tes...
2.59
KB
-rw-r--r--
rename_table.test
914
B
-rw-r--r--
row_format_redundant.test
2.71
KB
-rw-r--r--
sp_temp_table.test
2.51
KB
-rw-r--r--
stored_fk.test
3.46
KB
-rw-r--r--
strict_checksum.test
2.95
KB
-rw-r--r--
strict_mode.test
3.33
KB
-rw-r--r--
sys_tablestats.test
1.01
KB
-rw-r--r--
table_compress.test
14.09
KB
-rw-r--r--
table_encrypt_1.test
10.06
KB
-rw-r--r--
table_encrypt_2-master.opt
94
B
-rw-r--r--
table_encrypt_2.test
5.46
KB
-rw-r--r--
table_encrypt_3.test
31.16
KB
-rw-r--r--
table_encrypt_4.test
6.83
KB
-rw-r--r--
table_encrypt_5-master.opt
20
B
-rw-r--r--
table_encrypt_5.test
30.54
KB
-rw-r--r--
table_encrypt_debug.test
6.16
KB
-rw-r--r--
table_encrypt_fts.test
3.22
KB
-rw-r--r--
table_encrypt_kill.test
15.3
KB
-rw-r--r--
table_encryption-master.opt
20
B
-rw-r--r--
table_encryption.test
3.25
KB
-rw-r--r--
tablespace_crash.test
7.61
KB
-rw-r--r--
tablespace_embedded.test
246
B
-rw-r--r--
tablespace_embedded_windows.te...
242
B
-rw-r--r--
tablespace_per_table.test
13.03
KB
-rw-r--r--
tablespace_per_table_not_windo...
6.58
KB
-rw-r--r--
tablespace_per_table_windows.t...
3.13
KB
-rw-r--r--
tablespace_portability.test
1.64
KB
-rw-r--r--
tablespace_portability_windows...
751
B
-rw-r--r--
timestamp.test
787
B
-rw-r--r--
tinytext-groupby.test
1.26
KB
-rw-r--r--
tmpdir.test
1.9
KB
-rw-r--r--
trx_id_future.test
1.8
KB
-rw-r--r--
undo.test
1.48
KB
-rw-r--r--
update-cascade.test
6.46
KB
-rw-r--r--
update_time-master.opt
30
B
-rw-r--r--
update_time.test
2.25
KB
-rw-r--r--
update_time_wl6658.test
8.3
KB
-rw-r--r--
virtual_basic.test
44.54
KB
-rw-r--r--
virtual_blob.test
468
B
-rw-r--r--
virtual_debug.test
18.75
KB
-rw-r--r--
virtual_debug_purge.test
4.27
KB
-rw-r--r--
virtual_fk.test
25.3
KB
-rw-r--r--
virtual_fk_restart.test
1.59
KB
-rw-r--r--
virtual_index.test
8.38
KB
-rw-r--r--
virtual_purge.test
3.21
KB
-rw-r--r--
virtual_stats.test
1.43
KB
-rw-r--r--
xa_prepare_lock_release.test
1.57
KB
-rw-r--r--
xa_recovery.test
894
B
-rw-r--r--
xa_recovery_debug.test
989
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : innodb_wl6326_big.test
# This is a script for MTR with hybrid use. # a) As regression test # Mostly some brute force attempt to stress the internal sx locks of # InnoDB which were introduced by WL#6326+WL#6363. # The file with expected results fits to this variant. # The impact on code coverage is quite good. # b) As testbed for attempts to extend or improve the RQG test wl6326_sql.yy. # The MTR based test uses # - a table t1 with the same layout # - the same stored functions # - the same stored procedure proc_fill_t1 for inserting a configurable # amount of records into t1 # like the RQG test wl6326_sql.yy. # Feel free to modify parameters like $max_row_count, $max_con, # $high_load_duration or switch debugging on (let $test_debug= 1). # But please be aware that MTR will most probably report that the test # failed because it got a difference to expected results. # Reasons: # - In general: The file with expected results fits to a) only. # - The actual results might dependend on $max_row_count. # - Additional result sets might be printed. # # WL#6326 is about the sx locks (InnoDB feature only). --source include/have_innodb.inc # Runtime properties: # Notebook i5 dual core with HT, MySQL binaries compiled with debug, # max_row_count=10000 rows # vardir on tmpfs : ~ 375 # vardir on disk : ~ 546 --source include/big_test.inc # We go with "--send" and "--reap" and that fails with the embedded server. --source include/not_embedded.inc # Its intentional to not take the risk that a run with valgrind times out. --source include/not_valgrind.inc # FIXME: # Increase the code coverage provided by the current test by # trying "InnoDB Tablespace Monitor" as soon as some bug is fixed # or wait till the deprecated "InnoDB Tablespace Monitor" is # removed. # Setup of some parameters # ------------------------ # Number of records within every chunk to be added to t1. let $load_unit= 10000; # # Rough number of records in t1 to achieve. # We add chunks of $load_unit rows till the actual number # of rows in the table t1 exceeds $max_row_count. # let $max_row_count= 1000000; # let $max_row_count= 300000; # let $max_row_count= 100000; # let $max_row_count= 30000; let $max_row_count= 10000; # ~ 322s on tmpfs (NB) # # Determine which variant to run. let $test_debug= 0; # # Number of concurrent sessions to be used in the high load test. let $max_con= 10; # Duration of the high load test in seconds. let $high_load_duration= 60; # Putting all objects into the SCHEMA my_schema makes the final cleanup easier. # We simply run than DROP SCHEMA my_schema. CREATE SCHEMA my_schema; USE my_schema; CREATE FUNCTION f_thread_id (i INT) RETURNS CHAR(4) DETERMINISTIC RETURN CONCAT(LPAD(CAST(i AS CHAR),3,'_'),'_') ; SELECT CONCAT('->', f_thread_id( 1), '<-'); SELECT CONCAT('->', f_thread_id(12), '<-'); # Definition of parameters used in functions. # We use here a "1" in order to make the impact on the results of the functions # good visible. SET @extra_int = 1; SET @extra_string = f_thread_id(@extra_int); SELECT @extra_int , @extra_string; # The different functions are used later when filling t1 and also during # RQG testing. They serve to generate the difference between column values # in different rows in different areas of the column. # Fictional example: # row 1 col_int0=1 colx='1abcdefgh' coly='abcd1efgh' colz='abcdefgh1' # row 2 col_int0=2 colx='2abcdefgh' coly='abcd2efgh' colz='abcdefgh2' # The function f_<pattern> is for the column with the name <pattern>. # There is a function # - for every column except col_int0 # - even if the SQL for generating the value is simple. # The reason for this is the architecture of the RQG test. let $part= AS my_result FROM (SELECT 1 AS my_col UNION SELECT 12 UNION SELECT 123 UNION SELECT 1234 UNION SELECT 12345) AS tx; let $function_name= f_col_int1; eval CREATE FUNCTION $function_name (i INT) RETURNS INT(20) DETERMINISTIC RETURN i * 1000 + @extra_int ; eval SELECT $function_name(my_col) $part; let $function_name= f_col_int2; eval CREATE FUNCTION $function_name (i INT) RETURNS INT(20) DETERMINISTIC RETURN @extra_int * 10000000 + i ; eval SELECT $function_name(my_col) $part; let $function_name= f_col_int3; eval CREATE FUNCTION $function_name (i INT) RETURNS INT(20) DETERMINISTIC RETURN @extra_int ; eval SELECT $function_name(my_col) $part; let $function_name= f_col_blob; eval CREATE FUNCTION $function_name (i INT) RETURNS BLOB DETERMINISTIC RETURN RPAD(@extra_string,(@@innodb_page_size / 2 ) + 1,'a'); eval SELECT CONCAT('->', SUBSTR($function_name(my_col) FROM 1 FOR 10), '<-.....->', SUBSTR($function_name(my_col) FROM -10 FOR 10), '<-') $part; let $function_name= f_col_char0; eval CREATE FUNCTION $function_name (i INT) RETURNS CHAR(255) DETERMINISTIC RETURN LPAD(CAST(i AS CHAR),255,' '); eval SELECT CONCAT('->', $function_name(my_col), '<-') $part; let $function_name= f_col_char1; eval CREATE FUNCTION $function_name (i INT) RETURNS CHAR(26) DETERMINISTIC RETURN CONCAT('B', LPAD(SUBSTR(CAST(i AS CHAR),1,(LENGTH(CAST(i AS CHAR)) DIV 2)),10,' '), @extra_string, RPAD(SUBSTR(CAST(i AS CHAR), -((LENGTH(CAST(i AS CHAR)) + 1) DIV 2)),10,' '), 'E') ; eval SELECT CONCAT('->', $function_name(my_col), '<-') $part; let $function_name= f_col_char2; eval CREATE FUNCTION $function_name (i INT) RETURNS CHAR(26) DETERMINISTIC RETURN CONCAT('B', RPAD(SUBSTR(CAST(i AS CHAR),1,(LENGTH(CAST(i AS CHAR)) DIV 2)),10,' '), @extra_string, LPAD(SUBSTR(CAST(i AS CHAR), -((LENGTH(CAST(i AS CHAR)) + 1) DIV 2)),10,' '), 'E'); eval SELECT CONCAT('->', $function_name(my_col), '<-') $part; let $function_name= f_col_char3; eval CREATE FUNCTION $function_name (i INT) RETURNS CHAR(26) DETERMINISTIC RETURN CONCAT('B',@extra_string,LPAD(CAST(i AS CHAR),20,' '),'E'); eval SELECT CONCAT('->', $function_name(my_col), '<-') $part; let $function_name= f_col_char4; eval CREATE FUNCTION $function_name (i INT) RETURNS CHAR(26) DETERMINISTIC RETURN CONCAT('B',RPAD(CAST(i AS CHAR),20,' '),@extra_string,'E'); eval SELECT CONCAT('->', $function_name(my_col), '<-') $part; # Auxiliary table for figuring out the impact of scenarios on # information_schema.innodb_metrics content. CREATE TABLE my_metrics LIKE information_schema.innodb_metrics; ALTER TABLE my_metrics ADD COLUMN phase ENUM('after', 'before'), DROP COLUMN SUBSYSTEM, DROP COLUMN TYPE, DROP COLUMN COMMENT, ADD PRIMARY KEY (NAME,phase); let $empty_my_metrics= DELETE FROM my_metrics; let $before_my_metrics= INSERT INTO my_metrics SELECT NAME, COUNT, MAX_COUNT, MIN_COUNT, AVG_COUNT, COUNT_RESET, MAX_COUNT_RESET, MIN_COUNT_RESET, AVG_COUNT_RESET, TIME_ENABLED, TIME_DISABLED, TIME_ELAPSED, TIME_RESET, STATUS, 'before' FROM information_schema.innodb_metrics WHERE NAME LIKE 'innodb_rwlock_sx_%'; let $after_my_metrics= INSERT INTO my_metrics SELECT NAME, COUNT, MAX_COUNT, MIN_COUNT, AVG_COUNT, COUNT_RESET, MAX_COUNT_RESET, MIN_COUNT_RESET, AVG_COUNT_RESET, TIME_ENABLED, TIME_DISABLED, TIME_ELAPSED, TIME_RESET, STATUS, 'after' FROM information_schema.innodb_metrics WHERE NAME LIKE 'innodb_rwlock_sx_%'; let $print_metrics= SELECT NAME, COUNT, MAX_COUNT, MIN_COUNT, AVG_COUNT, COUNT_RESET, MAX_COUNT_RESET, MIN_COUNT_RESET, AVG_COUNT_RESET, TIME_ENABLED, TIME_DISABLED, TIME_ELAPSED, TIME_RESET, STATUS FROM information_schema.innodb_metrics WHERE NAME LIKE 'innodb_rwlock_sx_%' ORDER BY NAME; # The main table for testing. CREATE TABLE t1 ( col_int0 BIGINT, col_int1 BIGINT, col_int2 BIGINT, col_int3 BIGINT, col_blob BLOB, col_char0 VARCHAR(255), col_char1 VARCHAR(30), col_char2 VARCHAR(30), col_char3 VARCHAR(30), col_char4 VARCHAR(30) ) ENGINE = InnoDB; # Use many indexes with mostly significant size in order to cause # some heavy use of sx locks during data generation. ALTER TABLE t1 ADD UNIQUE KEY uidx_col_int0 (col_int0), ADD UNIQUE KEY uidx1 (col_int1, col_char0), ADD UNIQUE KEY uidx2 (col_int2, col_char0, col_int1), ADD UNIQUE KEY uidx3 (col_int3, col_int2, col_char0), ADD UNIQUE KEY uidx4 (col_char1, col_char0), ADD UNIQUE KEY uidx5 (col_char2, col_char0, col_char1), ADD UNIQUE KEY uidx6 (col_char3, col_char2, col_char0), ADD UNIQUE KEY uidx7 (col_int1, col_int2, col_int3, col_char4, col_char1, col_char2, col_char3, col_char0), ADD KEY idx8 (col_blob(10), col_char4); delimiter |; CREATE PROCEDURE proc_fill_t1 (max_row_count INT, load_unit INT) BEGIN DECLARE my_count INTEGER DEFAULT 0; DECLARE max_load_count INTEGER DEFAULT 0; DROP TABLE IF EXISTS t0; CREATE TEMPORARY TABLE t0 (col_int0 BIGINT, PRIMARY KEY(col_int0)); WHILE (my_count < load_unit ) DO SET my_count = my_count + 1; INSERT INTO t0 SET col_int0 = my_count; END WHILE; SET max_load_count = (SELECT (max_row_count DIV load_unit) + 1 ); SELECT COUNT(col_int0) INTO @val FROM t1; SET my_count = 0; REPEAT INSERT INTO t1 (col_int0, col_int1, col_int2, col_int3, col_blob, col_char0, col_char1, col_char2,col_char3,col_char4) SELECT col_int0 + @val, f_col_int1(col_int0 + @val), f_col_int2(col_int0 + @val), f_col_int3(col_int0 + @val), f_col_blob(col_int0 + @val), f_col_char0(col_int0 + @val), f_col_char1(col_int0 + @val), f_col_char2(col_int0 + @val), f_col_char3(col_int0 + @val), f_col_char4(col_int0 + @val) FROM t0; COMMIT; SELECT MAX(col_int0) INTO @val FROM t1; SET my_count = my_count + 1; UNTIL( my_count > max_load_count OR @val >= max_row_count ) END REPEAT; DROP TEMPORARY TABLE t0; END| delimiter ;| delimiter |; CREATE PROCEDURE proc_dml (max_duration INT, t1_stripe_half INT) BEGIN DECLARE aux INTEGER DEFAULT 0; DECLARE start_time INT; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION, SQLWARNING, NOT FOUND BEGIN END; SET @extra_int = CONNECTION_ID(); SET @extra_string = f_thread_id(@extra_int); SELECT ROUND(MAX(col_int0) / 2 ) INTO @t1_half FROM t1; # The user lock 'Blocker' should be already set by some other session S1. # S1 starts the race by releasing that lock. # Wait till the lock is released and the lock can be obtained. # In order to prevent endless waiting in case of non foreseen problems # limit the timespan to 30 seconds. SELECT GET_LOCK('Blocker', 30) INTO @aux; # Release the lock immediate so that the other "runner" sessions start too. SELECT RELEASE_LOCK('Blocker') INTO @aux; SET start_time = UNIX_TIMESTAMP(); WHILE (UNIX_TIMESTAMP() - start_time < max_duration) DO SET @aux = @t1_half - t1_stripe_half + ROUND(RAND() * t1_stripe_half * 2); UPDATE t1 SET col_int1 = f_col_int1(col_int0), col_int2 = f_col_int2(col_int0), col_int3 = f_col_int3(col_int0), col_blob = f_col_blob(col_int0), col_char0 = f_col_char0(col_int0), col_char1 = f_col_char1(col_int0), col_char2 = f_col_char2(col_int0), col_char3 = f_col_char3(col_int0), col_char4 = f_col_char4(col_int0) WHERE col_int0 = @aux; COMMIT; END WHILE; END| delimiter ;| SET GLOBAL innodb_monitor_disable = "innodb_rwlock_sx_%"; SET @pre_reset_ts = NOW(); --sleep 1.1 SET GLOBAL innodb_monitor_reset = "innodb_rwlock_sx_%"; SET @pre_enable_ts = NOW(); --sleep 1.1 SET GLOBAL innodb_monitor_enable = "innodb_rwlock_sx_%"; --sleep 1.1 SET @pre_collect_ts = NOW(); eval $empty_my_metrics; eval $before_my_metrics; --echo # TC-01 There are exact three entries "innodb_rwlock_sx_%" with the --echo # with the name which follow in innodb_metrics. let $check_statement= SELECT COUNT(*) <> 3 FROM my_metrics WHERE NAME IN ('innodb_rwlock_sx_spin_waits', 'innodb_rwlock_sx_spin_rounds', 'innodb_rwlock_sx_os_waits'); if(`$check_statement`) { --echo # fail eval $check_statement; SELECT NAME FROM my_metrics ORDER BY NAME; exit; } --echo # pass SELECT COUNT(*) INTO @sx_count FROM my_metrics; --echo # TC-02 Counting is now enabled. ALL = @sx_count entries show that. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE STATUS = 'enabled'; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT NAME, STATUS FROM my_metrics ORDER BY NAME; exit; } --echo # pass --echo # TC-03 @pre_reset_ts < TIME_RESET. ALL = @sx_count entries show that. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE @pre_reset_ts < TIME_RESET; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT NAME, @pre_reset_ts, TIME_RESET FROM my_metrics ORDER BY NAME; exit; } --echo # pass --echo # TC-04 @pre_enable_ts < TIME_ENABLED. ALL = @sx_count entries show that. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE @pre_enable_ts < TIME_ENABLED; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT NAME, @pre_enable_ts, TIME_ENABLED FROM my_metrics ORDER BY NAME; exit; } --echo # pass --echo # TC-05 TIME_RESET < TIME_ENABLED AND TIME_ENABLED < @pre_collect_ts --echo # AND TIME_ELAPSED > 0. ALL = @sx_count entries show that. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE TIME_RESET < TIME_ENABLED AND TIME_ENABLED < @pre_collect_ts AND TIME_ELAPSED > 0; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT NAME, @pre_collect_ts, TIME_RESET, TIME_ENABLED, TIME_ELAPSED FROM my_metrics ORDER BY NAME; exit; } --echo # pass --echo # TC-06 COUNT_RESET = MAX_COUNT_RESET. ALL = @sx_count entries show that. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE COUNT_RESET = MAX_COUNT_RESET; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT NAME, COUNT_RESET, MAX_COUNT_RESET FROM my_metrics ORDER BY NAME; exit; } --echo # pass SET GLOBAL innodb_monitor_reset = "innodb_rwlock_sx_%"; --disable_result_log if($test_debug) { --enable_result_log eval $print_metrics; } SHOW ENGINE INNODB STATUS; --enable_result_log eval $empty_my_metrics; eval $before_my_metrics; # These values (the "0") help to identify later if some record is in its # initial state or already modified. SET @extra_string = '__0_'; SET @extra_int = 0; --echo # TC-07 One session inserts some significant amount of rows into t1. --echo # The system MUST survive that. --replace_result $max_row_count <max_row_count> eval SET @max_row_count = $max_row_count; --replace_result $load_unit <load_unit> eval SET @load_unit = $load_unit; SET @start_time = UNIX_TIMESTAMP(); SET AUTOCOMMIT = OFF; CALL proc_fill_t1 (@max_row_count, @load_unit); --echo # pass SET AUTOCOMMIT = ON; SELECT col_int0 INTO @t1_half FROM t1 WHERE col_int0 >= (@val DIV 2) ORDER BY col_int0 LIMIT 1; --disable_result_log if($test_debug) { --enable_result_log SELECT COUNT(*) AS table_row_count, UNIX_TIMESTAMP() - @start_time AS fill_run_time FROM t1; eval $print_metrics; } SHOW ENGINE INNODB STATUS; --enable_result_log # Show that the value distribution is according to the plan. --vertical_results SELECT col_int0, col_int1, col_int2, col_int3, CONCAT('->', SUBSTR(col_blob FROM 1 FOR 10), '<-.....->', SUBSTR(col_blob FROM -10 FOR 10), '<-') AS col_blobx, CONCAT('->',col_char0,'<-') AS col_char0x, CONCAT('->',col_char1,'<-') AS col_char1x, CONCAT('->',col_char2,'<-') AS col_char2x, CONCAT('->',col_char3,'<-') AS col_char3x, CONCAT('->',col_char4,'<-') AS col_char4x FROM t1 WHERE col_int0 between 98 AND 102; --horizontal_results # For experiments/interest only. Please do not remove that. if (0) { ANALYZE TABLE t1; SELECT n_rows, clustered_index_size, sum_of_other_index_sizes FROM mysql.innodb_table_stats; # SELECT * FROM mysql.innodb_index_stats; # idx_col_int3_int0 n_diff_pfx01 1 col_int3 # idx_col_int3_int0 n_diff_pfx02 10000 col_int3,col_int0 # idx_col_int3_int0 n_diff_pfx03 10000 col_int3,col_int0,DB_ROW_ID # idx_col_int3_int0 n_leaf_pages 19 Number of leaf pages in the index # idx_col_int3_int0 size 20 Number of pages in the index --vertical_results SELECT t1.index_name, t1.stat_value AS idx_pages, t2.stat_value AS idx_leaf_pages, (t1.stat_value - t2.stat_value - 1) / t1.stat_value AS sx_page_ratio FROM mysql.innodb_index_stats t1, mysql.innodb_index_stats t2 WHERE t1.index_name = t2.index_name AND t1.stat_name = 'size' AND t2.stat_name = 'n_leaf_pages' ORDER BY t1.index_name; --horizontal_results } --echo # TC-11 Several concurrent sessions perform updates in t1 like mad. --echo # The system MUST survive this. --echo # Printing of statements is partially suppressed. SET @start_time = UNIX_TIMESTAMP(); SELECT 1 FROM t1 WHERE col_int0 = @t1_half FOR UPDATE; SELECT GET_LOCK('Blocker', 1000) ; --disable_query_log let $num= $max_con; while ($num) { --connect (con$num,localhost,root,,) USE my_schema; # The second parameter of the procedure is size of the affected stripe / 2. # A smaller stripe causes some smaller counter growth but most probably # also more stress around locking in general. # Example # (nnnn) = half stripe size # NAME | COUNT_RESET (5000) | COUNT_RESET (100) # -----------------------------+--------------------+---------------- # innodb_rwlock_sx_os_waits | 1412 | 486 # innodb_rwlock_sx_spin_rounds | 44061 | 17031 # innodb_rwlock_sx_spin_waits | 996 | 515 --send eval CALL proc_dml($high_load_duration,@t1_half); dec $num; } --connection default SELECT RELEASE_LOCK('Blocker') ; --sleep 3 COMMIT; let $num= $max_con; while ($num) { --connection con$num --reap dec $num; } --echo # pass --connection default --enable_query_log # let $wait_timeout= 181; # --source include/wait_condition.inc # eval $after_my_metrics; --disable_result_log if($test_debug) { --enable_result_log SELECT UNIX_TIMESTAMP() - @start_time AS update_battle_run_time; eval $print_metrics; } SHOW ENGINE INNODB STATUS; --enable_result_log --echo # TC-13 One session performs ALTER TABLE t1 ADD KEY ... on the fat table t1. --echo # The system MUST survive this. SET @start_time = UNIX_TIMESTAMP(); ALTER TABLE t1 ADD KEY idx_col_char4_col_char0 (col_char4,col_char0); --disable_result_log if($test_debug) { --enable_result_log SELECT UNIX_TIMESTAMP() - @start_time AS add_key_run_time; eval $print_metrics; } SHOW ENGINE INNODB STATUS; --enable_result_log --echo # pass --echo # TC-15 One session performs a fat update on the fat table t1. --echo # The system MUST survive this. SET @start_time = UNIX_TIMESTAMP(); SET @extra_int = 13; SET @extra_string = f_thread_id(@extra_int); eval UPDATE t1 SET col_int1 = f_col_int1(col_int0), col_int2 = f_col_int2(col_int0), col_int3 = f_col_int3(col_int0), col_blob = f_col_blob(col_int0), col_char0 = f_col_char0(col_int0), col_char1 = f_col_char1(col_int0), col_char2 = f_col_char2(col_int0), col_char3 = f_col_char3(col_int0), col_char4 = f_col_char4(col_int0) WHERE col_int0 BETWEEN @t1_half - 2500 AND @t1_half + 2500; COMMIT; --disable_result_log if($test_debug) { --enable_result_log SELECT UNIX_TIMESTAMP() - @start_time AS total_update_run_time; eval $print_metrics; } SHOW ENGINE INNODB STATUS; --enable_result_log --echo # pass # Basically every of the big activities causes some counter growth. # But caused by # - the architecture of InnoDB (certain things happen asynchronous) # - the actual test configuration (server/InnoDB options) # - conditions like parallel (./mtr --parallel=auto?) load on the testing box # this might be not fulfilled per single big activity every time except # we go with huge waits or similar. # Observation: # - non debug binaries: expectation frequent not fulfilled # - debug binaries: expectation rare not fulfilled # let $wait_timeout= 121; let $wait_condition= SELECT COUNT(*) = @sx_count FROM information_schema.innodb_metrics t_after JOIN my_metrics t_before ON t_after.COUNT_RESET > t_before.COUNT_RESET AND t_after.NAME = t_before.NAME; --source include/wait_condition.inc eval $after_my_metrics; --echo # TC-16 The following activities happend after reset in innodb_metrics --echo # - Insert some significant amount of rows into t1. --echo # - Several concurrent users perform excessive updates in t1. --echo # - ALTER TABLE ... ADD KEY <sufficient big enough structure> --echo # - One UPDATE statement modifying a huge slice of t1. --echo # Any of them causes heavy use of SX lock and therefore COUNT_RESET --echo # must have grown for ALL = @sx_count entries. # The former testcases TC-10 and TC12 had to be made a part of this testcase # because their results were unstable. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics t_after JOIN my_metrics t_before ON t_after.COUNT_RESET > t_before.COUNT_RESET AND t_after.NAME = t_before.NAME WHERE t_after.phase = 'after' AND t_before.phase = 'before'; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT * FROM my_metrics ORDER BY NAME, phase; exit; } --echo # pass --echo # TC-09 Heavy activity after reset. --echo # COUNT_RESET = MAX_COUNT_RESET for ALL = @sx_count entries --echo # needs to stay valid though he counters will have grown. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE phase = 'after' AND COUNT_RESET = MAX_COUNT_RESET; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT * FROM my_metrics ORDER BY NAME, phase; exit; } --echo # pass eval $empty_my_metrics; eval $before_my_metrics; SET GLOBAL innodb_monitor_reset = "innodb_rwlock_sx_%"; eval $after_my_metrics; --echo # TC-08 There was a reset. COUNT_RESET = MAX_COUNT_RESET for ALL --echo # = @sx_count entries. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE phase = 'before' AND COUNT_RESET = MAX_COUNT_RESET; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT * FROM my_metrics ORDER BY NAME, phase; exit; } --echo # pass --echo # TC-17 We had heavy activity causing big counters and after that a reset. --echo # Reset causes COUNT > COUNT_RESET AND MAX_COUNT > MAX_COUNT_RESET --echo # for ALL @sx_count entries. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics WHERE phase = 'after' AND COUNT > COUNT_RESET AND MAX_COUNT > MAX_COUNT_RESET; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT * FROM my_metrics ORDER BY NAME, phase; exit; } --echo # pass --echo # TC-18 We had some reset but this must not decrease COUNT or MAX_COUNT --echo # after.COUNT >= before.COUNT AND --echo # after.MAX_COUNT >= before.MAX_COUNT for ALL @sx_count entries. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics t_after JOIN my_metrics t_before ON t_after.COUNT >= t_before.COUNT AND t_after.MAX_COUNT >= t_before.MAX_COUNT AND t_after.NAME = t_before.NAME WHERE t_after.phase = 'after' AND t_before.phase = 'before'; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT * FROM my_metrics ORDER BY NAME, phase; exit; } --echo # pass --echo # TC-19 We had some reset after heavy activity and this must cause --echo # after.COUNT_RESET < before.COUNT_RESET --echo # AND after.MAX_COUNT_RESET < before.MAX_COUNT_RESET AND --echo # for ALL @sx_count entries. let $check_statement= SELECT COUNT(*) <> @sx_count FROM my_metrics t_after JOIN my_metrics t_before ON t_after.COUNT_RESET < t_before.COUNT_RESET AND t_after.MAX_COUNT_RESET < t_before.MAX_COUNT_RESET AND t_after.NAME = t_before.NAME WHERE t_after.phase = 'after' AND t_before.phase = 'before'; if(`$check_statement`) { --echo # fail eval $check_statement; SELECT * FROM my_metrics ORDER BY NAME, phase; exit; } --echo # pass # Cleanup let $num= $max_con; while ($num) { --connection con$num --disconnect con$num --source include/wait_until_disconnected.inc dec $num; } --connection default USE test; DROP SCHEMA my_schema; SET GLOBAL innodb_monitor_disable = all; SET GLOBAL innodb_monitor_reset_all = all; --disable_warnings SET GLOBAL innodb_monitor_enable = default; SET GLOBAL innodb_monitor_disable = default; SET GLOBAL innodb_monitor_reset = default; SET GLOBAL innodb_monitor_reset_all = default; --enable_warnings SET GLOBAL innodb_monitor_disable = "innodb_rwlock_sx_%"; SET GLOBAL innodb_monitor_reset = "innodb_rwlock_sx_%";
Close