You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by ga...@apache.org on 2022/10/20 08:44:53 UTC
[incubator-seatunnel] branch dev updated: [Feature][Connector-V2-Clickhouse] Clickhouse Source random use host when config multi-host (#3108)
This is an automated email from the ASF dual-hosted git repository.
gaojun2048 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new c9583b7f6 [Feature][Connector-V2-Clickhouse] Clickhouse Source random use host when config multi-host (#3108)
c9583b7f6 is described below
commit c9583b7f6397d393241352bc1f6b5019a4f8ef24
Author: john <we...@gmail.com>
AuthorDate: Thu Oct 20 16:44:45 2022 +0800
[Feature][Connector-V2-Clickhouse] Clickhouse Source random use host when config multi-host (#3108)
---
.../connectors/seatunnel/clickhouse/source/ClickhouseSource.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSource.java b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSource.java
index 4a4b638d9..8706fe059 100644
--- a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSource.java
+++ b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSource.java
@@ -48,6 +48,7 @@ import com.clickhouse.client.ClickHouseResponse;
import com.google.auto.service.AutoService;
import java.util.List;
+import java.util.concurrent.ThreadLocalRandom;
@AutoService(SeaTunnelSource.class)
public class ClickhouseSource implements SeaTunnelSource<SeaTunnelRow, ClickhouseSourceSplit, ClickhouseSourceState> {
@@ -71,9 +72,10 @@ public class ClickhouseSource implements SeaTunnelSource<SeaTunnelRow, Clickhous
config.getString(USERNAME), config.getString(PASSWORD));
sql = config.getString(SQL);
- try (ClickHouseClient client = ClickHouseClient.newInstance(servers.get(0).getProtocol());
+ ClickHouseNode currentServer = servers.get(ThreadLocalRandom.current().nextInt(servers.size()));
+ try (ClickHouseClient client = ClickHouseClient.newInstance(currentServer.getProtocol());
ClickHouseResponse response =
- client.connect(servers.get(0)).format(ClickHouseFormat.RowBinaryWithNamesAndTypes)
+ client.connect(currentServer).format(ClickHouseFormat.RowBinaryWithNamesAndTypes)
.query(modifySQLToLimit1(config.getString(SQL))).executeAndWait()) {
int columnSize = response.getColumns().size();