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
Summary:
RocksDB has recently added a FlushWAL API which will improve upon the
performance of MySQL 2PC (more details here facebook/rocksdb#2345).
This patch adds support for using the FlushWAL API in MyRocks and also matches flush_log_at_trx_commit with innodb_flush_log_at_trx_commit behaviour.
Finally, it updates the submodule to include the removal of an unneeded
assertion in the write path, which was tripped by this change.
Reviewed By: yoshinorim
Differential Revision: D5503719
fbshipit-source-id: c29f0a2
Copy file name to clipboardExpand all lines: mysql-test/suite/rocksdb/r/2pc_group_commit.result
+7-7
Original file line number
Diff line number
Diff line change
@@ -4,20 +4,20 @@ CREATE DATABASE mysqlslap;
4
4
USE mysqlslap;
5
5
CREATE TABLE t1(id BIGINT AUTO_INCREMENT, value BIGINT, PRIMARY KEY(id)) ENGINE=rocksdb;
6
6
# 2PC enabled, MyRocks durability enabled
7
-
SET GLOBAL rocksdb_enable_2pc=0;
7
+
SET GLOBAL rocksdb_enable_2pc=1;
8
8
SET GLOBAL rocksdb_flush_log_at_trx_commit=1;
9
9
## 2PC + durability + single thread
10
10
select variable_value into @c from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
11
11
select case when variable_value-@c = 1000 then 'true' else 'false' end from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
12
12
case when variable_value-@c = 1000 then 'true' else 'false' end
13
-
false
13
+
true
14
14
## 2PC + durability + group commit
15
15
select variable_value into @c from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
16
16
select case when variable_value-@c > 0 and variable_value-@c < 10000 then 'true' else 'false' end from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
17
17
case when variable_value-@c > 0 and variable_value-@c < 10000 then 'true' else 'false' end
18
-
false
18
+
true
19
19
# 2PC enabled, MyRocks durability disabled
20
-
SET GLOBAL rocksdb_enable_2pc=0;
20
+
SET GLOBAL rocksdb_enable_2pc=1;
21
21
SET GLOBAL rocksdb_flush_log_at_trx_commit=0;
22
22
select variable_value into @c from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
23
23
select case when variable_value-@c = 0 then 'true' else 'false' end from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
@@ -28,16 +28,16 @@ select case when variable_value-@c = 0 then 'true' else 'false' end from informa
28
28
case when variable_value-@c = 0 then 'true' else 'false' end
29
29
true
30
30
# 2PC disabled, MyRocks durability enabled
31
-
SET GLOBAL rocksdb_enable_2pc=1;
31
+
SET GLOBAL rocksdb_enable_2pc=0;
32
32
SET GLOBAL rocksdb_flush_log_at_trx_commit=1;
33
33
select variable_value into @c from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
34
34
select case when variable_value-@c = 0 then 'true' else 'false' end from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
35
35
case when variable_value-@c = 0 then 'true' else 'false' end
36
-
false
36
+
true
37
37
select variable_value into @c from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
38
38
select case when variable_value-@c = 0 then 'true' else 'false' end from information_schema.global_status where variable_name='rocksdb_wal_group_syncs';
39
39
case when variable_value-@c = 0 then 'true' else 'false' end
0 commit comments