$CLICKHOUSE_CLIENT--query"DROP TABLE IF EXISTS concurrent_mutate_kill"
$CLICKHOUSE_CLIENT--query"CREATE TABLE concurrent_mutate_kill (key UInt64, value String) ENGINE = ReplicatedMergeTree('/clickhouse/tables/test_01593/concurrent_mutate_kill', '1') ORDER BY key PARTITION BY key % 100 SETTINGS max_replicated_mutations_in_queue=1000, number_of_free_entries_in_pool_to_execute_mutation=0,max_replicated_merges_in_queue=1000"
$CLICKHOUSE_CLIENT--query"INSERT INTO concurrent_mutate_kill SELECT number, toString(number) FROM numbers(1000000)"
function alter_thread
{
while true;do
TYPE=$($CLICKHOUSE_CLIENT--query"SELECT type FROM system.columns WHERE table='concurrent_mutate_kill' and database='${CLICKHOUSE_DATABASE}' and name='value'")
if["$TYPE"=="String"];then
$CLICKHOUSE_CLIENT--query"ALTER TABLE concurrent_mutate_kill MODIFY COLUMN value UInt64 SETTINGS replication_alter_partitions_sync=2"
else
$CLICKHOUSE_CLIENT--query"ALTER TABLE concurrent_mutate_kill MODIFY COLUMN value String SETTINGS replication_alter_partitions_sync=2"
fi
done
}
function kill_mutation_thread
{
while true;do
mutation_id=$($CLICKHOUSE_CLIENT--query"SELECT mutation_id FROM system.mutations WHERE is_done=0 and database='${CLICKHOUSE_DATABASE}' and table='concurrent_mutate_kill' LIMIT 1")
if[!-z"$mutation_id"];then
$CLICKHOUSE_CLIENT--query"KILL MUTATION WHERE mutation_id='$mutation_id'" 1> /dev/null
$CLICKHOUSE_CLIENT--query"SELECT sum(toUInt64(value)) FROM concurrent_kill_$i"
done
function alter_thread
{
while true;do
REPLICA=$(($RANDOM%5+1))
TYPE=$($CLICKHOUSE_CLIENT--query"SELECT type FROM system.columns WHERE table='concurrent_kill_$REPLICA' and database='${CLICKHOUSE_DATABASE}' and name='value'")
if["$TYPE"=="String"];then
$CLICKHOUSE_CLIENT--query"ALTER TABLE concurrent_kill_$REPLICA MODIFY COLUMN value UInt64 SETTINGS replication_alter_partitions_sync=2"
else
$CLICKHOUSE_CLIENT--query"ALTER TABLE concurrent_kill_$REPLICA MODIFY COLUMN value String SETTINGS replication_alter_partitions_sync=2"
fi
done
}
function kill_mutation_thread
{
while true;do
mutation_id=$($CLICKHOUSE_CLIENT--query"SELECT mutation_id FROM system.mutations WHERE is_done = 0 and table like 'concurrent_kill_%' and database='${CLICKHOUSE_DATABASE}' LIMIT 1")
if[!-z"$mutation_id"];then
$CLICKHOUSE_CLIENT--query"KILL MUTATION WHERE mutation_id='$mutation_id'" 1> /dev/null
$CLICKHOUSE_CLIENT--query"ALTER TABLE concurrent_kill_$i MODIFY COLUMN value Int64 SETTINGS replication_alter_partitions_sync=2"
metadata_version=$($CLICKHOUSE_CLIENT--query"SELECT value FROM system.zookeeper WHERE path = '/clickhouse/tables/test_01593_concurrent_kill/replicas/$i/' and name = 'metadata_version'")
for i in$(seq$REPLICAS);do
replica_metadata_version=$($CLICKHOUSE_CLIENT--query"SELECT value FROM system.zookeeper WHERE path = '/clickhouse/tables/test_01593_concurrent_kill/replicas/$i/' and name = 'metadata_version'")