Skip to content
Permalink
Browse files
MDEV-17188: rocksdb.2pc_group_commit fails intermittently in BB
When counter increment is not within the expected range, print the number
instead of just FAIL.

This doesnt solve the bug but will help with the diagnostics.
  • Loading branch information
spetrunia committed Sep 13, 2018
1 parent f54485e commit d85a722
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 27 deletions.
@@ -14,16 +14,16 @@ SET GLOBAL rocksdb_flush_log_at_trx_commit=1;
select variable_value into @b1 from information_schema.global_status where variable_name='Binlog_commits';
select variable_value into @b2 from information_schema.global_status where variable_name='Binlog_group_commits';
select variable_value into @b3 from information_schema.global_status where variable_name='Rocksdb_wal_synced';
select IF(variable_value - @b1 = 1000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 1000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
Binlog_commits
OK
select IF(variable_value - @b2 = 1000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 = 1000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
Binlog_group_commits
OK
# Prepare operations sync, commits don't. We expect slightly more than 1K syncs:
select IF(variable_value - @b3 between 1000 and 1500, 'OK', 'FAIL') as Rocksdb_wal_synced
select IF(variable_value - @b3 between 1000 and 1500, 'OK', variable_value - @b3) as Rocksdb_wal_synced
from information_schema.global_status where variable_name='Rocksdb_wal_synced';
Rocksdb_wal_synced
OK
@@ -33,17 +33,17 @@ OK
select variable_value into @b1 from information_schema.global_status where variable_name='Binlog_commits';
select variable_value into @b2 from information_schema.global_status where variable_name='Binlog_group_commits';
select variable_value into @b3 from information_schema.global_status where variable_name='Rocksdb_wal_synced';
select IF(variable_value - @b1 = 10000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 10000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
Binlog_commits
OK
select IF(variable_value - @b2 between 100 and 5000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 between 100 and 5000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
Binlog_group_commits
OK
select IF(variable_value - @b3 between 1 and 9000, 'OK', 'FAIL')
select IF(variable_value - @b3 between 1 and 9000, 'OK', variable_value - @b3)
from information_schema.global_status where variable_name='Rocksdb_wal_synced';
IF(variable_value - @b3 between 1 and 9000, 'OK', 'FAIL')
IF(variable_value - @b3 between 1 and 9000, 'OK', variable_value - @b3)
OK
##
# 2PC enabled, MyRocks durability disabled, single thread
@@ -53,35 +53,35 @@ SET GLOBAL rocksdb_flush_log_at_trx_commit=0;
select variable_value into @b1 from information_schema.global_status where variable_name='Binlog_commits';
select variable_value into @b2 from information_schema.global_status where variable_name='Binlog_group_commits';
select variable_value into @b3 from information_schema.global_status where variable_name='Rocksdb_wal_synced';
select IF(variable_value - @b1 = 1000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 1000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
Binlog_commits
OK
select IF(variable_value - @b2 = 1000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 = 1000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
Binlog_group_commits
OK
select IF(variable_value - @b3 < 10, 'OK', 'FAIL')
select IF(variable_value - @b3 < 10, 'OK', variable_value - @b3)
from information_schema.global_status where variable_name='Rocksdb_wal_synced';
IF(variable_value - @b3 < 10, 'OK', 'FAIL')
IF(variable_value - @b3 < 10, 'OK', variable_value - @b3)
OK
##
# 2PC enabled, MyRocks durability disabled, concurrent workload
##
select variable_value into @b1 from information_schema.global_status where variable_name='Binlog_commits';
select variable_value into @b2 from information_schema.global_status where variable_name='Binlog_group_commits';
select variable_value into @b3 from information_schema.global_status where variable_name='Rocksdb_wal_synced';
select IF(variable_value - @b1 = 10000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 10000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
Binlog_commits
OK
select IF(variable_value - @b2 < 8000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 < 8000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
Binlog_group_commits
OK
select IF(variable_value - @b3 < 10, 'OK', 'FAIL')
select IF(variable_value - @b3 < 10, 'OK', variable_value - @b3)
from information_schema.global_status where variable_name='Rocksdb_wal_synced';
IF(variable_value - @b3 < 10, 'OK', 'FAIL')
IF(variable_value - @b3 < 10, 'OK', variable_value - @b3)
OK
SET GLOBAL rocksdb_enable_2pc= @save_rocksdb_enable_2pc;
SET GLOBAL rocksdb_flush_log_at_trx_commit= @save_rocksdb_flush_log_at_trx_commit;
@@ -31,12 +31,12 @@ select variable_value into @b1 from information_schema.global_status where varia
select variable_value into @b2 from information_schema.global_status where variable_name='Binlog_group_commits';
select variable_value into @b3 from information_schema.global_status where variable_name='Rocksdb_wal_synced';
--exec $MYSQL_SLAP --silent --concurrency=1 --number-of-queries=1000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"
select IF(variable_value - @b1 = 1000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 1000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
select IF(variable_value - @b2 = 1000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 = 1000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
--echo # Prepare operations sync, commits don't. We expect slightly more than 1K syncs:
select IF(variable_value - @b3 between 1000 and 1500, 'OK', 'FAIL') as Rocksdb_wal_synced
select IF(variable_value - @b3 between 1000 and 1500, 'OK', variable_value - @b3) as Rocksdb_wal_synced
from information_schema.global_status where variable_name='Rocksdb_wal_synced';

--echo ##
@@ -48,11 +48,11 @@ select variable_value into @b3 from information_schema.global_status where varia

--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=10000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"

select IF(variable_value - @b1 = 10000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 10000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
select IF(variable_value - @b2 between 100 and 5000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 between 100 and 5000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
select IF(variable_value - @b3 between 1 and 9000, 'OK', 'FAIL')
select IF(variable_value - @b3 between 1 and 9000, 'OK', variable_value - @b3)
from information_schema.global_status where variable_name='Rocksdb_wal_synced';

--echo ##
@@ -66,11 +66,11 @@ select variable_value into @b2 from information_schema.global_status where varia
select variable_value into @b3 from information_schema.global_status where variable_name='Rocksdb_wal_synced';
--exec $MYSQL_SLAP --silent --concurrency=1 --number-of-queries=1000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"

select IF(variable_value - @b1 = 1000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 1000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
select IF(variable_value - @b2 = 1000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 = 1000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
select IF(variable_value - @b3 < 10, 'OK', 'FAIL')
select IF(variable_value - @b3 < 10, 'OK', variable_value - @b3)
from information_schema.global_status where variable_name='Rocksdb_wal_synced';

--echo ##
@@ -83,11 +83,11 @@ select variable_value into @b3 from information_schema.global_status where varia

--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=10000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"

select IF(variable_value - @b1 = 10000, 'OK', 'FAIL') as Binlog_commits
select IF(variable_value - @b1 = 10000, 'OK', variable_value - @b1) as Binlog_commits
from information_schema.global_status where variable_name='Binlog_commits';
select IF(variable_value - @b2 < 8000, 'OK', 'FAIL') as Binlog_group_commits
select IF(variable_value - @b2 < 8000, 'OK', variable_value - @b2) as Binlog_group_commits
from information_schema.global_status where variable_name='Binlog_group_commits';
select IF(variable_value - @b3 < 10, 'OK', 'FAIL')
select IF(variable_value - @b3 < 10, 'OK', variable_value - @b3)
from information_schema.global_status where variable_name='Rocksdb_wal_synced';

##

0 comments on commit d85a722

Please sign in to comment.