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

kirs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new b8bdbd47831 [improve](iceberg rest) Add a default network connection 
timeout to Iceberg REST (#58395)
b8bdbd47831 is described below

commit b8bdbd47831792445e51031321174d3034b15f70
Author: zy-kkk <[email protected]>
AuthorDate: Thu Nov 27 10:47:58 2025 +0800

    [improve](iceberg rest) Add a default network connection timeout to Iceberg 
REST (#58395)
    
    When the network connection to the Iceberg REST server is unavailable,
    the lack of a timeout setting can lead to excessively long waiting
    times. Therefore, a slightly shorter default timeout has been added, and
    users can also set their own timeout.
---
 .../property/metastore/IcebergRestProperties.java       | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/property/metastore/IcebergRestProperties.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/property/metastore/IcebergRestProperties.java
index 245da66724b..688a268522b 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/property/metastore/IcebergRestProperties.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/property/metastore/IcebergRestProperties.java
@@ -154,6 +154,16 @@ public class IcebergRestProperties extends 
AbstractIcebergProperties {
             description = "The secret access key for the iceberg rest catalog 
service.")
     private String icebergRestSecretAccessKey = "";
 
+    @ConnectorProperty(names = {"iceberg.rest.connection-timeout-ms"},
+            required = false,
+            description = "Connection timeout in milliseconds for the REST 
catalog HTTP client. Default: 10000 (10s).")
+    private String icebergRestConnectionTimeoutMs = "10000";
+
+    @ConnectorProperty(names = {"iceberg.rest.socket-timeout-ms"},
+            required = false,
+            description = "Socket timeout in milliseconds for the REST catalog 
HTTP client. Default: 60000 (60s).")
+    private String icebergRestSocketTimeoutMs = "60000";
+
     protected IcebergRestProperties(Map<String, String> props) {
         super(props);
     }
@@ -260,6 +270,13 @@ public class IcebergRestProperties extends 
AbstractIcebergProperties {
         if (isIcebergRestVendedCredentialsEnabled()) {
             icebergRestCatalogProperties.put(VENDED_CREDENTIALS_HEADER, 
VENDED_CREDENTIALS_VALUE);
         }
+
+        if (Strings.isNotBlank(icebergRestConnectionTimeoutMs)) {
+            
icebergRestCatalogProperties.put("rest.client.connection-timeout-ms", 
icebergRestConnectionTimeoutMs);
+        }
+        if (Strings.isNotBlank(icebergRestSocketTimeoutMs)) {
+            icebergRestCatalogProperties.put("rest.client.socket-timeout-ms", 
icebergRestSocketTimeoutMs);
+        }
     }
 
     private void addAuthenticationProperties() {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to