This is an automated email from the ASF dual-hosted git repository.

wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 1ded1b6206 [Improve][ClickhouseFile] Clickhouse supports option 
configuration when connecting to shard nodes (#8297)
1ded1b6206 is described below

commit 1ded1b6206f25dc18538401c01c0fd004c9d3fb3
Author: Cancai Cai <[email protected]>
AuthorDate: Mon Dec 16 10:13:23 2024 +0800

    [Improve][ClickhouseFile] Clickhouse supports option configuration when 
connecting to shard nodes (#8297)
---
 .../seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java      | 5 ++++-
 .../connectors/seatunnel/clickhouse/sink/client/ShardRouter.java    | 3 ++-
 .../connectors/seatunnel/clickhouse/util/ClickhouseProxy.java       | 6 ++++--
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
index f2d961a49a..235658788f 100644
--- 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
+++ 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
@@ -22,6 +22,7 @@ import com.clickhouse.client.ClickHouseNode;
 import com.clickhouse.client.ClickHouseProtocol;
 
 import java.io.Serializable;
+import java.util.Map;
 import java.util.Objects;
 
 public class Shard implements Serializable {
@@ -44,7 +45,8 @@ public class Shard implements Serializable {
             int port,
             String database,
             String username,
-            String password) {
+            String password,
+            Map<String, String> options) {
         this.shardNum = shardNum;
         this.replicaNum = replicaNum;
         this.node =
@@ -54,6 +56,7 @@ public class Shard implements Serializable {
                         .database(database)
                         .weight(shardWeight)
                         
.credentials(ClickHouseCredentials.fromUserAndPassword(username, password))
+                        .options(options)
                         .build();
     }
 
diff --git 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
index 03f6efec31..af115d300e 100644
--- 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
+++ 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
@@ -83,7 +83,8 @@ public class ShardRouter implements Serializable {
                             localTable.getDatabase(),
                             
shardMetadata.getDefaultShard().getNode().getPort(),
                             shardMetadata.getUsername(),
-                            shardMetadata.getPassword());
+                            shardMetadata.getPassword(),
+                            
shardMetadata.getDefaultShard().getNode().getOptions());
             int weight = 0;
             for (Shard shard : shardList) {
                 shards.put(weight, shard);
diff --git 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
index be48f728b1..a75c73f716 100644
--- 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
+++ 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
@@ -192,7 +192,8 @@ public class ClickhouseProxy {
             String database,
             int port,
             String username,
-            String password) {
+            String password,
+            Map<String, String> options) {
         String sql =
                 "select 
shard_num,shard_weight,replica_num,host_name,host_address,port from 
system.clusters where cluster = '"
                         + clusterName
@@ -213,7 +214,8 @@ public class ClickhouseProxy {
                                                 port,
                                                 database,
                                                 username,
-                                                password));
+                                                password,
+                                                options));
                             });
             return shardList;
         } catch (ClickHouseException e) {

Reply via email to