--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