mirror of
https://github.com/MariaDB/server.git
synced 2025-09-11 05:52:26 +03:00
58 lines
1.9 KiB
PHP
58 lines
1.9 KiB
PHP
# Run the load generator to populate the table and generate concurrent
|
|
# updates. After the load generator is complete, verify the tables on the
|
|
# master and the slave are consistent
|
|
|
|
--sync_slave_with_master
|
|
|
|
--connection master
|
|
--let $master_host = 127.0.0.1
|
|
let $MYSQL_BASEDIR = `SELECT @@BASEDIR`;
|
|
|
|
let $exec =
|
|
python
|
|
$MYSQL_BASEDIR/storage/rocksdb/mysql-test/rocksdb_stress/t/load_generator.py \
|
|
-L $MYSQL_TMP_DIR/load_generator.log -H $master_host -t $table \
|
|
-P $MASTER_MYPORT -n $num_records -m $max_records \
|
|
-l $num_loaders -c $num_checkers -r $num_requests \
|
|
-E $MYSQLTEST_VARDIR/tmp/mysqld.1.expect \
|
|
-D $reap_delay;
|
|
|
|
exec $exec;
|
|
|
|
enable_reconnect;
|
|
source include/wait_until_connected_again.inc;
|
|
|
|
--let $master_checksum = query_get_value(CHECKSUM TABLE $table, Checksum, 1)
|
|
|
|
# if sync_slave_with_master had a configurable timeout this would not be needed
|
|
let $slave_sync_timeout = 7200;
|
|
--source include/wait_for_slave_to_sync_with_master.inc
|
|
|
|
--connection slave
|
|
--let $slave_checksum = query_get_value(CHECKSUM TABLE $table, Checksum, 1)
|
|
|
|
let $not_same = `SELECT $master_checksum-$slave_checksum`;
|
|
if ($not_same)
|
|
{
|
|
--die "The checksums of table $table for the master and slave do not match!"
|
|
}
|
|
|
|
# Cleanup
|
|
--connection master
|
|
--let $cleanup = DROP TABLE $table
|
|
eval $cleanup;
|
|
|
|
# if sync_slave_with_master had a configurable timeout this would not be needed
|
|
let $slave_sync_timeout = 7200;
|
|
--source include/wait_for_slave_to_sync_with_master.inc
|
|
|
|
--connection slave
|
|
--source include/stop_slave.inc
|
|
# For stress tests sometimes the replication thread can not connect to master
|
|
# temporarily. This is either because the master crashed and it is recovering
|
|
# or the master is too busy and could not service the slave's requests.
|
|
# mtr's internal check requires that there be no errors in slave status.
|
|
# restarting replication clears the errors.
|
|
--source include/start_slave.inc
|
|
--source include/stop_slave.inc
|