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

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


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new c2a16b8635b branch-3.1: [fix](test) fix unstable export external table 
#58799 (#58890)
c2a16b8635b is described below

commit c2a16b8635bff3a457a36fefcd1c8927e0948afe
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Dec 15 11:16:31 2025 +0800

    branch-3.1: [fix](test) fix unstable export external table #58799 (#58890)
    
    Cherry-picked from #58799
    
    Co-authored-by: Mingyu Chen (Rayner) <[email protected]>
---
 .../export/test_export_external_table.groovy       | 183 +++++++++++++--------
 1 file changed, 112 insertions(+), 71 deletions(-)

diff --git 
a/regression-test/suites/external_table_p0/export/test_export_external_table.groovy
 
b/regression-test/suites/external_table_p0/export/test_export_external_table.groovy
index 6910a983faf..b9f18e83ebe 100644
--- 
a/regression-test/suites/external_table_p0/export/test_export_external_table.groovy
+++ 
b/regression-test/suites/external_table_p0/export/test_export_external_table.groovy
@@ -217,6 +217,11 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
 
             waiting_export.call(catalog_name, ex_db_name, label)
 
+            def export_res = sql """show export from 
${catalog_name}.${ex_db_name} where label='${label}'"""
+            logger.info("get external export res ${export_res}")
+            def outfileinfo = export_res[0][11];
+            logger.info("get external export outfile info ${outfileinfo}")
+
             // check data correctness
             create_load_table(table_load_name)
 
@@ -225,18 +230,20 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             def portList = [:]
             getBackendIpHeartbeatPort(ipList, portList)
             ipList.each { beid, ip ->
-                logger.info("Begin to insert into 
internal.${internal_db_name}.${table_load_name} from local()")
-                sql """
-                    insert into  
internal.${internal_db_name}.${table_load_name}
-                    select * from local(
-                        "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
-                        "backend_id" = "${beid}",
-                        "format" = "csv",
-                        "column_separator" = ","
-                    );         
-                """ 
-                def insert_res = sql "show last insert;"
-                logger.info("insert from local(), BE id = ${beid}, result: " + 
insert_res.toString())
+                if (outfileinfo.contains(ip)) {
+                    logger.info("Begin to insert into 
internal.${internal_db_name}.${table_load_name} from local()")
+                    sql """
+                        insert into  
internal.${internal_db_name}.${table_load_name}
+                        select * from local(
+                            "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
+                            "backend_id" = "${beid}",
+                            "format" = "csv",
+                            "column_separator" = ","
+                        );         
+                    """ 
+                    def insert_res = sql "show last insert;"
+                    logger.info("insert from local(), BE id = ${beid}, result: 
" + insert_res.toString())
+                }
             }
 
             order_qt_select_load2 """ SELECT * FROM 
internal.${internal_db_name}.${table_load_name} order by k8; """
@@ -266,6 +273,11 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             """
             waiting_export.call(catalog_name, ex_db_name, label)
 
+            def export_res = sql """show export where label='${label}'"""
+            logger.info("get csv_with_names export res ${export_res}")
+            def outfileinfo = export_res[0][11];
+            logger.info("get csv_with_names export outfile info 
${outfileinfo}")
+
             // check data correctness
             create_load_table(table_load_name)
 
@@ -274,18 +286,20 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             def portList = [:]
             getBackendIpHeartbeatPort(ipList, portList)
             ipList.each { beid, ip ->
-                logger.info("Begin to insert into 
internal.${internal_db_name}.${table_load_name} from local()")
-                sql """
-                    insert into  
internal.${internal_db_name}.${table_load_name}
-                    select * from local(
-                        "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
-                        "backend_id" = "${beid}",
-                        "column_separator" = ",",
-                        "format" = "csv_with_names"
-                    );         
-                """ 
-                def insert_res = sql "show last insert;"
-                logger.info("insert from local(), BE id = ${beid}, result: " + 
insert_res.toString())
+                if (outfileinfo.contains(ip)) {
+                    logger.info("Begin to insert into 
internal.${internal_db_name}.${table_load_name} from local()")
+                    sql """
+                        insert into  
internal.${internal_db_name}.${table_load_name}
+                        select * from local(
+                            "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
+                            "backend_id" = "${beid}",
+                            "column_separator" = ",",
+                            "format" = "csv_with_names"
+                        );         
+                    """ 
+                    def insert_res = sql "show last insert;"
+                    logger.info("insert from local(), BE id = ${beid}, result: 
" + insert_res.toString())
+                }
             }
 
             order_qt_select_load3 """ SELECT * FROM 
internal.${internal_db_name}.${table_load_name} order by k8; """
@@ -315,6 +329,11 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             """
             waiting_export.call(catalog_name, ex_db_name, label)
 
+            def export_res = sql """show export where label='${label}'"""
+            logger.info("get csv_with_names_and_types export res 
${export_res}")
+            def outfileinfo = export_res[0][11];
+            logger.info("get csv_with_names_and_types export outfile info 
${outfileinfo}")
+
             // check data correctness
             create_load_table(table_load_name)
 
@@ -323,18 +342,20 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             def portList = [:]
             getBackendIpHeartbeatPort(ipList, portList)
             ipList.each { beid, ip ->
-                logger.info("Begin to insert into  
internal.${internal_db_name}.${table_load_name} from local()")
-                sql """
-                    insert into  
internal.${internal_db_name}.${table_load_name}
-                    select * from local(
-                        "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
-                        "backend_id" = "${beid}",
-                        "column_separator" = ",",
-                        "format" = "csv_with_names_and_types"
-                    );         
-                """ 
-                def insert_res = sql "show last insert;"
-                logger.info("insert from local(), BE id = ${beid}, result: " + 
insert_res.toString())
+                if (outfileinfo.contains(ip)) {
+                    logger.info("Begin to insert into  
internal.${internal_db_name}.${table_load_name} from local()")
+                    sql """
+                        insert into  
internal.${internal_db_name}.${table_load_name}
+                        select * from local(
+                            "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
+                            "backend_id" = "${beid}",
+                            "column_separator" = ",",
+                            "format" = "csv_with_names_and_types"
+                        );         
+                    """ 
+                    def insert_res = sql "show last insert;"
+                    logger.info("insert from local(), BE id = ${beid}, result: 
" + insert_res.toString())
+                }
             }
 
             order_qt_select_load4 """ SELECT * FROM 
internal.${internal_db_name}.${table_load_name} order by k8; """
@@ -363,6 +384,11 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             """
             waiting_export.call(catalog_name, ex_db_name, label)
 
+            def export_res = sql """show export where label='${label}'"""
+            logger.info("get orc export res ${export_res}")
+            def outfileinfo = export_res[0][11];
+            logger.info("get orc export outfile info ${outfileinfo}")
+
             // check data correctness
             create_load_table(table_load_name)
 
@@ -371,17 +397,19 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             def portList = [:]
             getBackendIpHeartbeatPort(ipList, portList)
             ipList.each { beid, ip ->
-                logger.info("Begin to insert into  
internal.${internal_db_name}.${table_load_name} from local()")
-                sql """
-                    insert into  
internal.${internal_db_name}.${table_load_name}
-                    select * from local(
-                        "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
-                        "backend_id" = "${beid}",
-                        "format" = "orc"
-                    );         
-                """ 
-                def insert_res = sql "show last insert;"
-                logger.info("insert from local(), BE id = ${beid}, result: " + 
insert_res.toString())
+                if (outfileinfo.contains(ip)) {
+                    logger.info("Begin to insert into  
internal.${internal_db_name}.${table_load_name} from local()")
+                    sql """
+                        insert into  
internal.${internal_db_name}.${table_load_name}
+                        select * from local(
+                            "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
+                            "backend_id" = "${beid}",
+                            "format" = "orc"
+                        );         
+                    """ 
+                    def insert_res = sql "show last insert;"
+                    logger.info("insert from local(), BE id = ${beid}, result: 
" + insert_res.toString())
+                }
             }
 
             order_qt_select_load5 """ SELECT * FROM 
internal.${internal_db_name}.${table_load_name} order by k8; """
@@ -409,6 +437,11 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             """
             waiting_export.call(catalog_name, ex_db_name, label)
 
+            def export_res = sql """show export where label='${label}'"""
+            logger.info("get parquet export res ${export_res}")
+            def outfileinfo = export_res[0][11];
+            logger.info("get parquet export outfile info ${outfileinfo}")
+
             // check data correctness
             create_load_table(table_load_name)
 
@@ -417,17 +450,19 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             def portList = [:]
             getBackendIpHeartbeatPort(ipList, portList)
             ipList.each { beid, ip ->
-                logger.info("Begin to insert into  
internal.${internal_db_name}.${table_load_name} from local()")
-                sql """
-                    insert into internal.${internal_db_name}.${table_load_name}
-                    select * from local(
-                        "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
-                        "backend_id" = "${beid}",
-                        "format" = "parquet"
-                    );         
-                """ 
-                def insert_res = sql "show last insert;"
-                logger.info("insert from local(), BE id = ${beid}, result: " + 
insert_res.toString())
+                if (outfileinfo.contains(ip)) {
+                    logger.info("Begin to insert into  
internal.${internal_db_name}.${table_load_name} from local()")
+                    sql """
+                        insert into 
internal.${internal_db_name}.${table_load_name}
+                        select * from local(
+                            "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
+                            "backend_id" = "${beid}",
+                            "format" = "parquet"
+                        );         
+                    """ 
+                    def insert_res = sql "show last insert;"
+                    logger.info("insert from local(), BE id = ${beid}, result: 
" + insert_res.toString())
+                }
             }
 
             order_qt_select_load6 """ SELECT * FROM 
internal.${internal_db_name}.${table_load_name} order by k8; """
@@ -436,7 +471,6 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             delete_files.call("${outFilePath}")
         }
 
-
         // 7. test columns property
         uuid = UUID.randomUUID().toString()
         outFilePath = "${outfile_path_prefix}" + 
"/${table_export_name}_${uuid}"
@@ -458,6 +492,11 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             """
             waiting_export.call(catalog_name, ex_db_name, label)
 
+            def export_res = sql """show export where label='${label}'"""
+            logger.info("get columns property export res ${export_res}")
+            def outfileinfo = export_res[0][11];
+            logger.info("get columns property export outfile info 
${outfileinfo}")
+
             // check data correctness
             create_load_table(table_load_name)
 
@@ -466,18 +505,20 @@ suite("test_export_external_table", 
"p0,external,mysql,external_docker,external_
             def portList = [:]
             getBackendIpHeartbeatPort(ipList, portList)
             ipList.each { beid, ip ->
-                logger.info("Begin to insert into 
internal.${internal_db_name}.${table_load_name} from local()")
-                sql """
-                    insert into 
internal.${internal_db_name}.${table_load_name} (k8, k1, k5, k3, k7)
-                    select * from local(
-                        "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
-                        "backend_id" = "${beid}",
-                        "format" = "csv_with_names",
-                        "column_separator" = ","
-                    );         
-                """ 
-                def insert_res = sql "show last insert;"
-                logger.info("insert from local(), BE id = ${beid}, result: " + 
insert_res.toString())
+                if (outfileinfo.contains(ip)) {
+                    logger.info("Begin to insert into 
internal.${internal_db_name}.${table_load_name} from local()")
+                    sql """
+                        insert into 
internal.${internal_db_name}.${table_load_name} (k8, k1, k5, k3, k7)
+                        select * from local(
+                            "file_path" = 
"${local_tvf_prefix}/${table_export_name}_${uuid}/*",
+                            "backend_id" = "${beid}",
+                            "format" = "csv_with_names",
+                            "column_separator" = ","
+                        );         
+                    """ 
+                    def insert_res = sql "show last insert;"
+                    logger.info("insert from local(), BE id = ${beid}, result: 
" + insert_res.toString())
+                }
             }
 
             order_qt_select_load7 """ SELECT * FROM 
internal.${internal_db_name}.${table_load_name} order by k8; """


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

Reply via email to