You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upstream commit ID: facebook/mysql-5.6@e7877a4
PS-8951: Merge percona-202305 (https://jira.percona.com/browse/PS-8951)
Summary:
Update the rocksdb submodule to 8.3.fb and update the bloomfilter tests
due to changes in bloomfilter statistics.
update-submodule: rocksdb
Differential Revision: D46623439
fbshipit-source-id: 5814bb89a4d120c5d30dbc9b170eed89012de83e
Copy file name to clipboardExpand all lines: mysql-test/suite/rocksdb/include/bloomfilter.inc
+13-3Lines changed: 13 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,22 @@ let ddl= $MYSQL_TMP_DIR/bloomfilter_create.sql;
6
6
DELIMITER //;
7
7
CREATE PROCEDURE bloom_start()
8
8
BEGIN
9
-
select variable_value into @c fromperformance_schema.global_statuswhere variable_name='rocksdb_bloom_filter_prefix_checked';
10
-
select variable_value into @u fromperformance_schema.global_statuswhere variable_name='rocksdb_bloom_filter_prefix_useful';
9
+
selectsum(variable_value) into @sf fromperformance_schema.global_status
10
+
where variable_name in (
11
+
'rocksdb_last_level_seek_filter_match',
12
+
'rocksdb_last_level_seek_filtered',
13
+
'rocksdb_non_last_level_seek_filter_match',
14
+
'rocksdb_non_last_level_seek_filtered');
15
+
select variable_value into @u fromperformance_schema.global_statuswhere variable_name='rocksdb_bloom_filter_prefix_useful';
11
16
END//
12
17
CREATE PROCEDURE bloom_end()
13
18
BEGIN
14
-
select case when variable_value-@c >0 then 'true' else 'false' end as checked fromperformance_schema.global_statuswhere variable_name='rocksdb_bloom_filter_prefix_checked';
19
+
select case when sum(variable_value)-@sf >0 then 'true' else 'false' end as checked fromperformance_schema.global_status
Copy file name to clipboardExpand all lines: mysql-test/suite/rocksdb/r/bloomfilter.result
+12-2Lines changed: 12 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,21 @@
1
1
CREATE PROCEDURE bloom_start()
2
2
BEGIN
3
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
3
+
select sum(variable_value) into @sf from performance_schema.global_status
4
+
where variable_name in (
5
+
'rocksdb_last_level_seek_filter_match',
6
+
'rocksdb_last_level_seek_filtered',
7
+
'rocksdb_non_last_level_seek_filter_match',
8
+
'rocksdb_non_last_level_seek_filtered');
4
9
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
5
10
END//
6
11
CREATE PROCEDURE bloom_end()
7
12
BEGIN
8
-
select case when variable_value-@c > 0 then 'true' else 'false' end as checked from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
13
+
select case when sum(variable_value)-@sf > 0 then 'true' else 'false' end as checked from performance_schema.global_status
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
38
+
call bloom_start();
3
39
SELECT COUNT(*) FROM t0 WHERE id1='X' AND id2>=1;
4
40
COUNT(*)
5
41
10000
6
-
select case when variable_value-@u = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
7
-
case when variable_value-@u = 0 then 'true' else 'false' end
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
47
+
call bloom_start();
12
48
SELECT COUNT(*) FROM t1 WHERE id1=1 AND id2=1 AND id3>=2;
13
49
COUNT(*)
14
50
9999
15
-
select case when variable_value-@u = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
16
-
case when variable_value-@u = 0 then 'true' else 'false' end
51
+
call bloom_eq_check();
52
+
useful
17
53
true
18
-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
54
+
call bloom_start();
19
55
SELECT COUNT(*) FROM t1 WHERE id1=1 AND id2>=1 AND id3>=2;
20
56
COUNT(*)
21
57
9999
22
-
select case when variable_value-@u = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
23
-
case when variable_value-@u = 0 then 'true' else 'false' end
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
63
+
call bloom_start();
28
64
select count(*) from t2 WHERE id1=100 and id2 IN ('00000000000000000000', '100');
29
65
count(*)
30
66
1
31
-
select case when variable_value-@u > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
32
-
case when variable_value-@u > 0 then 'true' else 'false' end
67
+
call bloom_gt_check();
68
+
useful
33
69
true
34
-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
70
+
call bloom_start();
35
71
select count(*) from t2 WHERE id1=200 and id2 IN ('00000000000000000000', '200');
36
72
count(*)
37
73
1
38
-
select case when variable_value-@u > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
39
-
case when variable_value-@u > 0 then 'true' else 'false' end
74
+
call bloom_gt_check();
75
+
useful
40
76
true
41
-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
77
+
call bloom_start();
42
78
select count(*) from t2 WHERE id1=200 and id2 IN ('3', '200');
43
79
count(*)
44
80
1
45
-
select case when variable_value-@u = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
46
-
case when variable_value-@u = 0 then 'true' else 'false' end
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_useful';
86
+
call bloom_start();
51
87
SELECT COUNT(*) FROM t3 WHERE id1=1 AND id2=5000 AND id3=1 AND id4=1;
52
88
COUNT(*)
53
89
0
54
-
select case when variable_value-@u > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_useful';
55
-
case when variable_value-@u > 0 then 'true' else 'false' end
90
+
call bloom_gt_check();
91
+
useful
56
92
true
57
-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
93
+
call bloom_start();
58
94
SELECT COUNT(*) FROM t3 WHERE id1=1 AND id2=1 AND id3=1;
59
95
COUNT(*)
60
96
1
61
-
select case when variable_value-@u > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
62
-
case when variable_value-@u > 0 then 'true' else 'false' end
97
+
call bloom_gt_check();
98
+
useful
63
99
true
64
-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
100
+
call bloom_start();
65
101
SELECT COUNT(*) FROM t3 WHERE id1=1 AND id2=1 AND id3=1 AND id4 <= 500;
66
102
COUNT(*)
67
103
1
68
-
select case when variable_value-@u > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
69
-
case when variable_value-@u > 0 then 'true' else 'false' end
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
53
+
call bloom_start();
18
54
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type`) where id1 = 100 and link_type = 1 and time >= 0 and time <= 9223372036854775807 and visibility = 1 order by time desc;
19
55
id1 id2 link_type visibility data time version
20
56
100 100 1 1 100 100 100
21
-
select case when variable_value-@c > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
22
-
case when variable_value-@c > 0 then 'true' else 'false' end
57
+
call bloom_gt_check();
58
+
useful
23
59
false
24
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
60
+
call bloom_start();
25
61
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type2`) where id1 = 100 and link_type = 1 and time >= 0 and time <= 9223372036854775807 order by time desc;
26
62
id1 id2 link_type visibility data time version
27
63
100 100 1 1 100 100 100
28
-
select case when variable_value-@c > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
29
-
case when variable_value-@c > 0 then 'true' else 'false' end
64
+
call bloom_gt_check();
65
+
useful
30
66
false
31
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
67
+
call bloom_start();
32
68
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type3`) where id1 = 100 and time >= 0 and time <= 9223372036854775807 and visibility = 1 order by time desc;
33
69
id1 id2 link_type visibility data time version
34
70
100 100 1 1 100 100 100
35
-
select case when variable_value-@c = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
36
-
case when variable_value-@c = 0 then 'true' else 'false' end
71
+
call bloom_eq_check();
72
+
useful
37
73
true
38
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
74
+
call bloom_start();
39
75
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type`) where id1 = 100 and link_type = 1 and visibility = 1 and time >= 0 order by time desc;
40
76
id1 id2 link_type visibility data time version
41
77
100 100 1 1 100 100 100
42
-
select case when variable_value-@c > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
43
-
case when variable_value-@c > 0 then 'true' else 'false' end
78
+
call bloom_gt_check();
79
+
useful
44
80
true
45
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
81
+
call bloom_start();
46
82
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type2`) where id1 = 100 and link_type = 1 and time >= 0 order by time desc;
47
83
id1 id2 link_type visibility data time version
48
84
100 100 1 1 100 100 100
49
-
select case when variable_value-@c = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
50
-
case when variable_value-@c = 0 then 'true' else 'false' end
85
+
call bloom_eq_check();
86
+
useful
51
87
true
52
88
## HA_READ_PREFIX_LAST
53
89
# BF len 20
54
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
90
+
call bloom_start();
55
91
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type`) where id1 = 100 and link_type = 1 and visibility = 1 order by time desc;
56
92
id1 id2 link_type visibility data time version
57
93
100 100 1 1 100 100 100
58
-
select case when variable_value-@c > 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
59
-
case when variable_value-@c > 0 then 'true' else 'false' end
94
+
call bloom_gt_check();
95
+
useful
60
96
true
61
97
# BF len 19
62
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
98
+
call bloom_start();
63
99
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type2`) where id1 = 100 and link_type = 1 order by time desc;
64
100
id1 id2 link_type visibility data time version
65
101
100 100 1 1 100 100 100
66
-
select case when variable_value-@c = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
67
-
case when variable_value-@c = 0 then 'true' else 'false' end
102
+
call bloom_eq_check();
103
+
useful
68
104
true
69
105
# BF len 12
70
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
106
+
call bloom_start();
71
107
select id1, id2, link_type, visibility, data, time, version from linktable FORCE INDEX(`id1_type3`) where id1 = 100 and visibility = 1 order by time desc;
72
108
id1 id2 link_type visibility data time version
73
109
100 100 1 1 100 100 100
74
-
select case when variable_value-@c = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
75
-
case when variable_value-@c = 0 then 'true' else 'false' end
110
+
call bloom_eq_check();
111
+
useful
76
112
true
77
113
DROP TABLE linktable;
78
114
# restart
@@ -107,21 +143,16 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
107
143
1 SIMPLE t1 NULL ref kp12 kp12 20 const,const,const # 100.00 Using where; Backward index scan; Using index
108
144
Warnings:
109
145
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`kp0` AS `kp0`,`test`.`t1`.`kp1` AS `kp1`,`test`.`t1`.`kp2` AS `kp2`,`test`.`t1`.`kp3` AS `kp3` from `test`.`t1` where ((`test`.`t1`.`kp2` = 20890720927743) and (`test`.`t1`.`kp1` = 1) and (`test`.`t1`.`kp0` = 1)) order by `test`.`t1`.`kp3` desc
110
-
show status like '%rocksdb_bloom_filter_prefix%';
111
-
Variable_name Value
112
-
rocksdb_bloom_filter_prefix_checked 0
113
-
rocksdb_bloom_filter_prefix_useful 0
114
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
146
+
call bloom_start();
115
147
select * from t1 where kp0=1 and kp1=1 and kp2=0x12FFFFFFFFFF order by kp3 desc;
116
148
pk kp0 kp1 kp2 kp3
117
149
11 1 1 20890720927743 1
118
150
10 1 1 20890720927743 1
119
-
show status like '%rocksdb_bloom_filter_prefix%';
120
-
Variable_name Value
121
-
rocksdb_bloom_filter_prefix_checked 0
122
-
rocksdb_bloom_filter_prefix_useful 0
123
151
# The following MUST show TRUE:
124
-
select case when variable_value-@c = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
125
-
case when variable_value-@c = 0 then 'true' else 'false' end
Copy file name to clipboardExpand all lines: mysql-test/suite/rocksdb/r/bloomfilter_skip.result
+12-2Lines changed: 12 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,21 @@
1
1
CREATE PROCEDURE bloom_start()
2
2
BEGIN
3
-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
3
+
select sum(variable_value) into @sf from performance_schema.global_status
4
+
where variable_name in (
5
+
'rocksdb_last_level_seek_filter_match',
6
+
'rocksdb_last_level_seek_filtered',
7
+
'rocksdb_non_last_level_seek_filter_match',
8
+
'rocksdb_non_last_level_seek_filtered');
4
9
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
5
10
END//
6
11
CREATE PROCEDURE bloom_end()
7
12
BEGIN
8
-
select case when variable_value-@c > 0 then 'true' else 'false' end as checked from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
13
+
select case when sum(variable_value)-@sf > 0 then 'true' else 'false' end as checked from performance_schema.global_status
0 commit comments