diff --git a/docker/test/stateful/run.sh b/docker/test/stateful/run.sh
index 6b90a9e7e37..195cfbfa3d3 100755
--- a/docker/test/stateful/run.sh
+++ b/docker/test/stateful/run.sh
@@ -13,6 +13,22 @@ dpkg -i package_folder/clickhouse-test_*.deb
function start()
{
+ if [[ -n "$USE_DATABASE_REPLICATED" ]] && [[ "$USE_DATABASE_REPLICATED" -eq 1 ]]; then
+ sudo -E -u clickhouse /usr/bin/clickhouse-server --config /etc/clickhouse-server2/config.xml --daemon \
+ -- --path /var/lib/clickhouse2/ --logger.stderr /var/log/clickhouse-server/stderr2.log \
+ --logger.log /var/log/clickhouse-server/clickhouse-server2.log --logger.errorlog /var/log/clickhouse-server/clickhouse-server2.err.log \
+ --tcp_port 19000 --tcp_port_secure 19440 --http_port 18123 --https_port 18443 --interserver_http_port 19009 --tcp_with_proxy_port 19010 \
+ --mysql_port 19004 \
+ --test_keeper_server.tcp_port 19181 --test_keeper_server.server_id 2
+
+ sudo -E -u clickhouse /usr/bin/clickhouse-server --config /etc/clickhouse-server3/config.xml --daemon \
+ -- --path /var/lib/clickhouse3/ --logger.stderr /var/log/clickhouse-server/stderr3.log \
+ --logger.log /var/log/clickhouse-server/clickhouse-server3.log --logger.errorlog /var/log/clickhouse-server/clickhouse-server3.err.log \
+ --tcp_port 29000 --tcp_port_secure 29440 --http_port 28123 --https_port 28443 --interserver_http_port 29009 --tcp_with_proxy_port 29010 \
+ --mysql_port 29004 \
+ --test_keeper_server.tcp_port 29181 --test_keeper_server.server_id 3
+ fi
+
counter=0
until clickhouse-client --query "SELECT 1"
do
@@ -73,3 +89,9 @@ mv /var/log/clickhouse-server/stderr.log /test_output/ ||:
if [[ -n "$WITH_COVERAGE" ]] && [[ "$WITH_COVERAGE" -eq 1 ]]; then
tar -chf /test_output/clickhouse_coverage.tar.gz /profraw ||:
fi
+if [[ -n "$USE_DATABASE_REPLICATED" ]] && [[ "$USE_DATABASE_REPLICATED" -eq 1 ]]; then
+ pigz < /var/log/clickhouse-server/clickhouse-server2.log > /test_output/clickhouse-server2.log.gz ||:
+ pigz < /var/log/clickhouse-server/clickhouse-server3.log > /test_output/clickhouse-server3.log.gz ||:
+ mv /var/log/clickhouse-server/stderr2.log /test_output/ ||:
+ mv /var/log/clickhouse-server/stderr3.log /test_output/ ||:
+fi
diff --git a/docker/test/stateless/clusters2.xml b/docker/test/stateless/clusters2.xml
new file mode 100644
index 00000000000..73b6274df12
--- /dev/null
+++ b/docker/test/stateless/clusters2.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ localhost
+ 9000
+
+
+ localhost
+ 19000
+
+
+
+
+ localhost
+ 29000
+
+
+
+
+
diff --git a/docker/test/stateless/enable_test_keeper1.xml b/docker/test/stateless/enable_test_keeper1.xml
new file mode 100644
index 00000000000..6c9669a42fd
--- /dev/null
+++ b/docker/test/stateless/enable_test_keeper1.xml
@@ -0,0 +1,38 @@
+
+
+ 9181
+ 1
+
+
+ 5000
+ 10000
+ trace
+
+
+
+
+ 1
+ localhost
+ 44444
+ true
+ 3
+
+
+ 2
+ localhost
+ 44445
+ true
+ true
+ 2
+
+
+ 3
+ localhost
+ 44446
+ true
+ true
+ 1
+
+
+
+
diff --git a/docker/test/stateless/run.sh b/docker/test/stateless/run.sh
index 0d67df8226c..dfa05e1a354 100755
--- a/docker/test/stateless/run.sh
+++ b/docker/test/stateless/run.sh
@@ -11,20 +11,6 @@ dpkg -i package_folder/clickhouse-test_*.deb
# install test configs
/usr/share/clickhouse-test/config/install.sh
-#cp /use_test_keeper.xml /etc/clickhouse-server/config.d/zookeeper.xml
-#cp /enable_test_keeper1.xml /etc/clickhouse-server/config.d/test_keeper_port.xml
-#cp /clusters2.xml /etc/clickhouse-server/config.d/
-
-#mkdir /etc/clickhouse-server2
-#chown clickhouse /etc/clickhouse-server2
-#chgrp clickhouse /etc/clickhouse-server2
-#sudo -u clickhouse cp -r /etc/clickhouse-server/* /etc/clickhouse-server2
-#rm /etc/clickhouse-server2/config.d/macros.xml
-#sudo -u clickhouse cat /etc/clickhouse-server/config.d/macros.xml | sed "s|r1|r2|" > /etc/clickhouse-server2/config.d/macros.xml
-
-#cat /usr/bin/clickhouse-test | sed "s| ENGINE=Replicated('/test/clickhouse/db/{}', 's1', 'r1')| ON CLUSTER test_cluster_database_replicated ENGINE=Replicated('/test/clickhouse/db/{}', '{{shard}}', '{{replica}}')|" > /usr/bin/clickhouse-test-tmp
-#mv /usr/bin/clickhouse-test-tmp /usr/bin/clickhouse-test
-#chmod a+x /usr/bin/clickhouse-test
# For flaky check we also enable thread fuzzer
if [ "$NUM_TRIES" -gt "1" ]; then
@@ -53,17 +39,7 @@ else
fi
if [[ -n "$USE_DATABASE_REPLICATED" ]] && [[ "$USE_DATABASE_REPLICATED" -eq 1 ]]; then
- # There is a bug in config reloading, so we cannot override macros using --macros.replica r2
- # And we have to copy configs...
- mkdir /etc/clickhouse-server2
- chown clickhouse /etc/clickhouse-server2
- chgrp clickhouse /etc/clickhouse-server2
- sudo -u clickhouse cp -r /etc/clickhouse-server/* /etc/clickhouse-server2
- rm /etc/clickhouse-server2/config.d/macros.xml
- sudo -u clickhouse cat /etc/clickhouse-server/config.d/macros.xml | sed "s|r1|r2|" > /etc/clickhouse-server2/config.d/macros.xml
- sudo mkdir /var/lib/clickhouse2
- sudo chmod a=rwx /var/lib/clickhouse2
sudo -E -u clickhouse /usr/bin/clickhouse-server --config /etc/clickhouse-server2/config.xml --daemon \
-- --path /var/lib/clickhouse2/ --logger.stderr /var/log/clickhouse-server/stderr2.log \
--logger.log /var/log/clickhouse-server/clickhouse-server2.log --logger.errorlog /var/log/clickhouse-server/clickhouse-server2.err.log \
@@ -71,6 +47,14 @@ if [[ -n "$USE_DATABASE_REPLICATED" ]] && [[ "$USE_DATABASE_REPLICATED" -eq 1 ]]
--mysql_port 19004 \
--test_keeper_server.tcp_port 19181 --test_keeper_server.server_id 2 \
--macros.replica r2 # It doesn't work :(
+
+ sudo -E -u clickhouse /usr/bin/clickhouse-server --config /etc/clickhouse-server3/config.xml --daemon \
+ -- --path /var/lib/clickhouse3/ --logger.stderr /var/log/clickhouse-server/stderr3.log \
+ --logger.log /var/log/clickhouse-server/clickhouse-server3.log --logger.errorlog /var/log/clickhouse-server/clickhouse-server3.err.log \
+ --tcp_port 29000 --tcp_port_secure 29440 --http_port 28123 --https_port 28443 --interserver_http_port 29009 --tcp_with_proxy_port 29010 \
+ --mysql_port 29004 \
+ --test_keeper_server.tcp_port 29181 --test_keeper_server.server_id 3 \
+ --macros.shard s2 # It doesn't work :(
fi
sleep 5
@@ -104,10 +88,6 @@ function run_tests()
| tee -a test_output/test_result.txt
}
-#clickhouse-client --port 9000 -q "SELECT * FROM system.macros"
-#clickhouse-client --port 19000 -q "SELECT * FROM system.macros"
-#clickhouse-client --port 19000 -q "SELECT 2"
-
export -f run_tests
timeout "$MAX_RUN_TIME" bash -c run_tests ||:
@@ -124,5 +104,7 @@ tar -chf /test_output/query_log_dump.tar /var/lib/clickhouse/data/system/query_l
if [[ -n "$USE_DATABASE_REPLICATED" ]] && [[ "$USE_DATABASE_REPLICATED" -eq 1 ]]; then
pigz < /var/log/clickhouse-server/clickhouse-server2.log > /test_output/clickhouse-server2.log.gz ||:
+ pigz < /var/log/clickhouse-server/clickhouse-server3.log > /test_output/clickhouse-server3.log.gz ||:
mv /var/log/clickhouse-server/stderr2.log /test_output/ ||:
+ mv /var/log/clickhouse-server/stderr3.log /test_output/ ||:
fi
diff --git a/docker/test/stateless/use_test_keeper.xml b/docker/test/stateless/use_test_keeper.xml
new file mode 100644
index 00000000000..26ec47e50e8
--- /dev/null
+++ b/docker/test/stateless/use_test_keeper.xml
@@ -0,0 +1,16 @@
+
+
+
+ localhost
+ 9181
+
+
+ localhost
+ 19181
+
+
+ localhost
+ 29181
+
+
+
diff --git a/tests/clickhouse-test b/tests/clickhouse-test
index 212503a3e71..6d7ca807992 100755
--- a/tests/clickhouse-test
+++ b/tests/clickhouse-test
@@ -107,7 +107,7 @@ def remove_control_characters(s):
def get_db_engine(args, database_name):
if args.replicated_database:
- return " ON CLUSTER test_cluster_database_replicated ENGINE=Replicated('/test/clickhouse/db/{}', 's1', 'r1')".format(database_name)
+ return " ON CLUSTER test_cluster_database_replicated ENGINE=Replicated('/test/clickhouse/db/{}', '{{shard}}', '{{replica}}')".format(database_name)
if args.db_engine:
return " ENGINE=" + args.db_engine
return "" # Will use default engine
diff --git a/tests/config/config.d/database_replicated.xml b/tests/config/config.d/database_replicated.xml
index 7392968b415..5b09a13ca4b 100644
--- a/tests/config/config.d/database_replicated.xml
+++ b/tests/config/config.d/database_replicated.xml
@@ -63,6 +63,12 @@
19000
+
+
+ localhost
+ 29000
+
+
diff --git a/tests/config/install.sh b/tests/config/install.sh
index d0f978a3315..76cca9956cb 100755
--- a/tests/config/install.sh
+++ b/tests/config/install.sh
@@ -68,6 +68,28 @@ if [[ -n "$USE_DATABASE_REPLICATED" ]] && [[ "$USE_DATABASE_REPLICATED" -eq 1 ]]
ln -sf $SRC_PATH/config.d/database_replicated.xml $DEST_SERVER_PATH/config.d/
rm /etc/clickhouse-server/config.d/zookeeper.xml
rm /etc/clickhouse-server/config.d/test_keeper_port.xml
+
+ # There is a bug in config reloading, so we cannot override macros using --macros.replica r2
+ # And we have to copy configs...
+ mkdir /etc/clickhouse-server2
+ mkdir /etc/clickhouse-server3
+ chown clickhouse /etc/clickhouse-server2
+ chown clickhouse /etc/clickhouse-server3
+ chgrp clickhouse /etc/clickhouse-server2
+ chgrp clickhouse /etc/clickhouse-server3
+ sudo -u clickhouse cp -r /etc/clickhouse-server/* /etc/clickhouse-server2
+ sudo -u clickhouse cp -r /etc/clickhouse-server/* /etc/clickhouse-server3
+ rm /etc/clickhouse-server2/config.d/macros.xml
+ rm /etc/clickhouse-server3/config.d/macros.xml
+ sudo -u clickhouse cat /etc/clickhouse-server/config.d/macros.xml | sed "s|r1|r2|" > /etc/clickhouse-server2/config.d/macros.xml
+ sudo -u clickhouse cat /etc/clickhouse-server/config.d/macros.xml | sed "s|s1|s2|" > /etc/clickhouse-server3/config.d/macros.xml
+
+ sudo mkdir /var/lib/clickhouse2
+ sudo mkdir /var/lib/clickhouse3
+ sudo chown clickhouse /var/lib/clickhouse2
+ sudo chown clickhouse /var/lib/clickhouse3
+ sudo chgrp clickhouse /var/lib/clickhouse2
+ sudo chgrp clickhouse /var/lib/clickhouse3
fi
ln -sf $SRC_PATH/client_config.xml $DEST_CLIENT_PATH/config.xml