polardbxengine/mysql-test/suite/xengine/t/2pc_group_commit.test

44 lines
2.3 KiB
Plaintext

--source suite/xengine/include/have_xengine.inc
--source include/have_log_bin.inc
--echo # Disable for valgrind because this takes too long
--source include/not_valgrind.inc
--disable_warnings
DROP DATABASE IF EXISTS mysqlslap;
--enable_warnings
CREATE DATABASE mysqlslap;
USE mysqlslap;
CREATE TABLE t1(id BIGINT AUTO_INCREMENT, value BIGINT, PRIMARY KEY(id)) ENGINE=xengine;
--echo # 2PC enabled, MyX durability enabled
SET GLOBAL xengine_flush_log_at_trx_commit=1;
--echo ## 2PC + durability + single thread
select variable_value into @c from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
--exec $MYSQL_SLAP --silent --concurrency=1 --number-of-queries=2000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"
select case when variable_value-@c = 2000 then 'true' else 'false' end from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
--echo ## 2PC + durability + group commit
select variable_value into @c from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=20000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"
select case when variable_value-@c > 0 and variable_value-@c < 20000 then 'true' else 'false' end from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
--echo # 2PC enabled, MyX durability disabled
SET GLOBAL xengine_flush_log_at_trx_commit=0;
select variable_value into @c from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
--exec $MYSQL_SLAP --silent --concurrency=1 --number-of-queries=1000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"
select case when variable_value-@c = 1000 then 'true' else 'false' end from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
select variable_value into @c from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
--exec $MYSQL_SLAP --silent --concurrency=50 --number-of-queries=10000 --query="INSERT INTO t1 (id, value) VALUES(NULL, 1)"
select case when variable_value-@c = 0 then 'true' else 'false' end from performance_schema.global_status where variable_name='xengine_wal_group_syncs';
SET GLOBAL xengine_flush_log_at_trx_commit=1;
DROP TABLE t1;
DROP DATABASE mysqlslap;
--source suite/xengine/include/check_xengine_log_error.inc