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

yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-4.1 by this push:
     new 598749afd1d branch-4.1: [fix](regression) retry transient S3 outfile 
timeout #65454 (#65507)
598749afd1d is described below

commit 598749afd1d08c7a953ebb90e7c1f6db8a435a25
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Jul 13 16:07:06 2026 +0800

    branch-4.1: [fix](regression) retry transient S3 outfile timeout #65454 
(#65507)
    
    Cherry-picked from #65454
    
    Co-authored-by: shuke <[email protected]>
---
 .../outfile/s3/test_outfile_with_different_s3.groovy   | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git 
a/regression-test/suites/export_p0/outfile/s3/test_outfile_with_different_s3.groovy
 
b/regression-test/suites/export_p0/outfile/s3/test_outfile_with_different_s3.groovy
index 18ad0a02c18..31975ffc13b 100644
--- 
a/regression-test/suites/export_p0/outfile/s3/test_outfile_with_different_s3.groovy
+++ 
b/regression-test/suites/export_p0/outfile/s3/test_outfile_with_different_s3.groovy
@@ -22,7 +22,7 @@ suite("test_outfile_with_different_s3", "p0") {
     def outfile_to_S3 = {bucket, s3_endpoint, region, ak, sk  ->
         def outFilePath = "${bucket}/outfile_different_s3/exp_"
         // select ... into outfile ...
-        def res = sql """
+        def outfileSql = """
             SELECT * FROM ${export_table_name} t ORDER BY user_id
             INTO OUTFILE "s3://${outFilePath}"
             FORMAT AS parquet
@@ -33,7 +33,21 @@ suite("test_outfile_with_different_s3", "p0") {
                 "s3.access_key" = "${ak}"
             );
         """
-        return res[0][3]
+        for (int attempt = 1; attempt <= 2; attempt++) {
+            try {
+                def res = sql outfileSql
+                return res[0][3]
+            } catch (java.sql.SQLException e) {
+                boolean isS3Timeout = e.message?.contains("curlCode: 28")
+                        && e.message?.contains("Timeout was reached")
+                if (!isS3Timeout || attempt == 2) {
+                    throw e
+                }
+                logger.warn("OUTFILE to S3 endpoint ${s3_endpoint} timed out, 
retrying once")
+                sleep(5000)
+            }
+        }
+        throw new IllegalStateException("Unreachable")
     }
 
 


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

Reply via email to