Skip to content

Commit e7877a4

Browse files
hermanleefacebook-github-bot
authored andcommitted
Update rocksdb to 8.3.fb
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: 5814bb8
1 parent 0b72cc8 commit e7877a4

File tree

12 files changed

+437
-135
lines changed

12 files changed

+437
-135
lines changed

mysql-test/suite/rocksdb/r/bloomfilter.result

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
CREATE PROCEDURE bloom_start()
22
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');
49
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
510
END//
611
CREATE PROCEDURE bloom_end()
712
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
14+
where variable_name in (
15+
'rocksdb_last_level_seek_filter_match',
16+
'rocksdb_last_level_seek_filtered',
17+
'rocksdb_non_last_level_seek_filter_match',
18+
'rocksdb_non_last_level_seek_filtered');
919
END//
1020
drop table if exists t1;
1121
Warnings:
Lines changed: 66 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,110 @@
1+
CREATE PROCEDURE bloom_start()
2+
BEGIN
3+
select sum(variable_value) into @u from performance_schema.global_status
4+
where variable_name in (
5+
'rocksdb_bloom_filter_prefix_useful',
6+
'rocksdb_last_level_seek_filter_match',
7+
'rocksdb_last_level_seek_filtered',
8+
'rocksdb_last_level_seek_data_useful_filter_match',
9+
'rocksdb_non_last_level_seek_filter_match',
10+
'rocksdb_non_last_level_seek_filtered',
11+
'rocksdb_non_last_level_seek_data_useful_filter_match');
12+
END//
13+
CREATE PROCEDURE bloom_eq_check()
14+
BEGIN
15+
select case when sum(variable_value)-@u = 0 then 'true' else 'false' end as useful from performance_schema.global_status
16+
where variable_name in (
17+
'rocksdb_bloom_filter_prefix_useful',
18+
'rocksdb_last_level_seek_filter_match',
19+
'rocksdb_last_level_seek_filtered',
20+
'rocksdb_last_level_seek_data_useful_filter_match',
21+
'rocksdb_non_last_level_seek_filter_match',
22+
'rocksdb_non_last_level_seek_filtered',
23+
'rocksdb_non_last_level_seek_data_useful_filter_match');
24+
END//
25+
CREATE PROCEDURE bloom_gt_check()
26+
BEGIN
27+
select case when sum(variable_value)-@u > 0 then 'true' else 'false' end as useful from performance_schema.global_status
28+
where variable_name in (
29+
'rocksdb_bloom_filter_prefix_useful',
30+
'rocksdb_last_level_seek_filter_match',
31+
'rocksdb_last_level_seek_filtered',
32+
'rocksdb_last_level_seek_data_useful_filter_match',
33+
'rocksdb_non_last_level_seek_filter_match',
34+
'rocksdb_non_last_level_seek_filtered',
35+
'rocksdb_non_last_level_seek_data_useful_filter_match');
36+
END//
137
CREATE TABLE t0 (id1 VARCHAR(30), id2 INT, value INT, PRIMARY KEY (id1, id2)) ENGINE=rocksdb collate latin1_bin;
2-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
38+
call bloom_start();
339
SELECT COUNT(*) FROM t0 WHERE id1='X' AND id2>=1;
440
COUNT(*)
541
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
42+
call bloom_eq_check();
43+
useful
844
true
945
DROP TABLE t0;
1046
CREATE TABLE t1 (id1 BIGINT, id2 INT, id3 BIGINT, value INT, PRIMARY KEY (id1, id2, id3)) ENGINE=rocksdb;
11-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
47+
call bloom_start();
1248
SELECT COUNT(*) FROM t1 WHERE id1=1 AND id2=1 AND id3>=2;
1349
COUNT(*)
1450
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
1753
true
18-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
54+
call bloom_start();
1955
SELECT COUNT(*) FROM t1 WHERE id1=1 AND id2>=1 AND id3>=2;
2056
COUNT(*)
2157
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
58+
call bloom_eq_check();
59+
useful
2460
true
2561
DROP TABLE t1;
2662
CREATE TABLE t2 (id1 INT, id2 VARCHAR(100), id3 BIGINT, value INT, PRIMARY KEY (id1, id2, id3)) ENGINE=rocksdb collate latin1_bin;
27-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
63+
call bloom_start();
2864
select count(*) from t2 WHERE id1=100 and id2 IN ('00000000000000000000', '100');
2965
count(*)
3066
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
3369
true
34-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
70+
call bloom_start();
3571
select count(*) from t2 WHERE id1=200 and id2 IN ('00000000000000000000', '200');
3672
count(*)
3773
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
4076
true
41-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
77+
call bloom_start();
4278
select count(*) from t2 WHERE id1=200 and id2 IN ('3', '200');
4379
count(*)
4480
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
81+
call bloom_eq_check();
82+
useful
4783
true
4884
DROP TABLE t2;
4985
CREATE TABLE t3 (id1 BIGINT, id2 BIGINT, id3 BIGINT, id4 BIGINT, PRIMARY KEY (id1, id2, id3, id4)) ENGINE=rocksdb collate latin1_bin;
50-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_useful';
86+
call bloom_start();
5187
SELECT COUNT(*) FROM t3 WHERE id1=1 AND id2=5000 AND id3=1 AND id4=1;
5288
COUNT(*)
5389
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
5692
true
57-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
93+
call bloom_start();
5894
SELECT COUNT(*) FROM t3 WHERE id1=1 AND id2=1 AND id3=1;
5995
COUNT(*)
6096
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
6399
true
64-
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
100+
call bloom_start();
65101
SELECT COUNT(*) FROM t3 WHERE id1=1 AND id2=1 AND id3=1 AND id4 <= 500;
66102
COUNT(*)
67103
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
104+
call bloom_gt_check();
105+
useful
70106
true
71107
DROP TABLE t3;
108+
DROP PROCEDURE bloom_start;
109+
DROP PROCEDURE bloom_eq_check;
110+
DROP PROCEDURE bloom_gt_check;

mysql-test/suite/rocksdb/r/bloomfilter3.result

Lines changed: 66 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,40 @@
11
# restart
2+
CREATE PROCEDURE bloom_start()
3+
BEGIN
4+
select sum(variable_value) into @u from performance_schema.global_status
5+
where variable_name in (
6+
'rocksdb_bloom_filter_prefix_useful',
7+
'rocksdb_last_level_seek_filter_match',
8+
'rocksdb_last_level_seek_filtered',
9+
'rocksdb_last_level_seek_data_useful_filter_match',
10+
'rocksdb_non_last_level_seek_filter_match',
11+
'rocksdb_non_last_level_seek_filtered',
12+
'rocksdb_non_last_level_seek_data_useful_filter_match');
13+
END//
14+
CREATE PROCEDURE bloom_eq_check()
15+
BEGIN
16+
select case when sum(variable_value)-@u = 0 then 'true' else 'false' end as useful from performance_schema.global_status
17+
where variable_name in (
18+
'rocksdb_bloom_filter_prefix_useful',
19+
'rocksdb_last_level_seek_filter_match',
20+
'rocksdb_last_level_seek_filtered',
21+
'rocksdb_last_level_seek_data_useful_filter_match',
22+
'rocksdb_non_last_level_seek_filter_match',
23+
'rocksdb_non_last_level_seek_filtered',
24+
'rocksdb_non_last_level_seek_data_useful_filter_match');
25+
END//
26+
CREATE PROCEDURE bloom_gt_check()
27+
BEGIN
28+
select case when sum(variable_value)-@u > 0 then 'true' else 'false' end as useful from performance_schema.global_status
29+
where variable_name in (
30+
'rocksdb_bloom_filter_prefix_useful',
31+
'rocksdb_last_level_seek_filter_match',
32+
'rocksdb_last_level_seek_filtered',
33+
'rocksdb_last_level_seek_data_useful_filter_match',
34+
'rocksdb_non_last_level_seek_filter_match',
35+
'rocksdb_non_last_level_seek_filtered',
36+
'rocksdb_non_last_level_seek_data_useful_filter_match');
37+
END//
238
CREATE TABLE `linktable` (
339
`id1` bigint(20) unsigned NOT NULL DEFAULT '0',
440
`id1_type` int(10) unsigned NOT NULL DEFAULT '0',
@@ -24,66 +60,66 @@ Warning 1681 Integer display width is deprecated and will be removed in a future
2460
Warning 1681 Integer display width is deprecated and will be removed in a future release.
2561
Warning 1681 Integer display width is deprecated and will be removed in a future release.
2662
set @tmp_force_index_for_range=@@optimizer_force_index_for_range;
27-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
63+
call bloom_start();
2864
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;
2965
id1 id2 link_type visibility data time version
3066
100 100 1 1 100 100 100
31-
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';
32-
case when variable_value-@c > 0 then 'true' else 'false' end
67+
call bloom_gt_check();
68+
useful
3369
true
34-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
70+
call bloom_start();
3571
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;
3672
id1 id2 link_type visibility data time version
3773
100 100 1 1 100 100 100
38-
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';
39-
case when variable_value-@c > 0 then 'true' else 'false' end
74+
call bloom_gt_check();
75+
useful
4076
true
41-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
77+
call bloom_start();
4278
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;
4379
id1 id2 link_type visibility data time version
4480
100 100 1 1 100 100 100
45-
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';
46-
case when variable_value-@c = 0 then 'true' else 'false' end
81+
call bloom_eq_check();
82+
useful
4783
true
4884
set global optimizer_force_index_for_range=@tmp_force_index_for_range;
49-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
85+
call bloom_start();
5086
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;
5187
id1 id2 link_type visibility data time version
5288
100 100 1 1 100 100 100
53-
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';
54-
case when variable_value-@c > 0 then 'true' else 'false' end
89+
call bloom_gt_check();
90+
useful
5591
true
56-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
92+
call bloom_start();
5793
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;
5894
id1 id2 link_type visibility data time version
5995
100 100 1 1 100 100 100
60-
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';
61-
case when variable_value-@c = 0 then 'true' else 'false' end
96+
call bloom_eq_check();
97+
useful
6298
true
6399
## HA_READ_PREFIX_LAST
64100
# BF len 20
65-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
101+
call bloom_start();
66102
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;
67103
id1 id2 link_type visibility data time version
68104
100 100 1 1 100 100 100
69-
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';
70-
case when variable_value-@c > 0 then 'true' else 'false' end
105+
call bloom_gt_check();
106+
useful
71107
true
72108
# BF len 19
73-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
109+
call bloom_start();
74110
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;
75111
id1 id2 link_type visibility data time version
76112
100 100 1 1 100 100 100
77-
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';
78-
case when variable_value-@c = 0 then 'true' else 'false' end
113+
call bloom_eq_check();
114+
useful
79115
true
80116
# BF len 12
81-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
117+
call bloom_start();
82118
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;
83119
id1 id2 link_type visibility data time version
84120
100 100 1 1 100 100 100
85-
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';
86-
case when variable_value-@c = 0 then 'true' else 'false' end
121+
call bloom_eq_check();
122+
useful
87123
true
88124
DROP TABLE linktable;
89125
# restart
@@ -118,21 +154,16 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
118154
1 SIMPLE t1 NULL ref kp12 kp12 20 const,const,const # # Using where; Backward index scan; Using index
119155
Warnings:
120156
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
121-
show status like '%rocksdb_bloom_filter_prefix%';
122-
Variable_name Value
123-
rocksdb_bloom_filter_prefix_checked 0
124-
rocksdb_bloom_filter_prefix_useful 0
125-
select variable_value into @c from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_checked';
157+
call bloom_start();
126158
select * from t1 where kp0=1 and kp1=1 and kp2=0x12FFFFFFFFFF order by kp3 desc;
127159
pk kp0 kp1 kp2 kp3
128160
11 1 1 20890720927743 1
129161
10 1 1 20890720927743 1
130-
show status like '%rocksdb_bloom_filter_prefix%';
131-
Variable_name Value
132-
rocksdb_bloom_filter_prefix_checked 0
133-
rocksdb_bloom_filter_prefix_useful 0
134162
# The following MUST show TRUE:
135-
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';
136-
case when variable_value-@c = 0 then 'true' else 'false' end
163+
call bloom_gt_check();
164+
useful
137165
true
138166
drop table t1;
167+
DROP PROCEDURE bloom_start;
168+
DROP PROCEDURE bloom_eq_check;
169+
DROP PROCEDURE bloom_gt_check;

mysql-test/suite/rocksdb/r/bloomfilter_skip.result

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
CREATE PROCEDURE bloom_start()
22
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');
49
select variable_value into @u from performance_schema.global_status where variable_name='rocksdb_bloom_filter_prefix_useful';
510
END//
611
CREATE PROCEDURE bloom_end()
712
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
14+
where variable_name in (
15+
'rocksdb_last_level_seek_filter_match',
16+
'rocksdb_last_level_seek_filtered',
17+
'rocksdb_non_last_level_seek_filter_match',
18+
'rocksdb_non_last_level_seek_filtered');
919
END//
1020
drop table if exists t1;
1121
Warnings:

0 commit comments

Comments
 (0)