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

huajianlan 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 8dc41eab13d [fix](export) avoid throw npe when export task has illegal 
url (#56161)
8dc41eab13d is described below

commit 8dc41eab13d88990970999749bfba6c264a2aa7f
Author: 924060929 <[email protected]>
AuthorDate: Fri Sep 19 10:38:57 2025 +0800

    [fix](export) avoid throw npe when export task has illegal url (#56161)
    
    avoid throw npe when export task has illegal url:
    ```sql
    -- illegal url: file://xxx,  should be file:///xxx
    EXPORT TABLE tbl to 'file://xxxx' PROPERTIES(
      "label" = "label_cce1b8f0-3ec0-47d4-8dbf-5b5c2386d71e12112a1",
      "format" = "csv",
      "column_separator"=","
    );
    ```
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java     | 5 ++++-
 .../suites/export_p0/test_export_table_with_label_retry.groovy       | 3 +++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java
index 3780f62ca42..82d9c2f0ec1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java
@@ -167,13 +167,16 @@ public class BrokerMgr {
     }
 
     public FsBroker getBroker(String brokerName, String host) throws 
AnalysisException {
+        if (brokerName == null) {
+            throw new AnalysisException("Unknown broker name(" + brokerName + 
")");
+        }
         if (brokerName.equalsIgnoreCase(BrokerDesc.MULTI_LOAD_BROKER)) {
             return new FsBroker("127.0.0.1", 0);
         }
         lock.lock();
         try {
             ArrayListMultimap<String, FsBroker> brokerAddsMap = 
brokersMap.get(brokerName);
-            if (brokerAddsMap == null || brokerAddsMap.size() == 0) {
+            if (brokerAddsMap == null || brokerAddsMap.isEmpty()) {
                 throw new AnalysisException("Unknown broker name(" + 
brokerName + ")");
             }
             List<FsBroker> brokers = brokerAddsMap.get(host);
diff --git 
a/regression-test/suites/export_p0/test_export_table_with_label_retry.groovy 
b/regression-test/suites/export_p0/test_export_table_with_label_retry.groovy
index e6ac6684b5d..854fac6ddee 100644
--- a/regression-test/suites/export_p0/test_export_table_with_label_retry.groovy
+++ b/regression-test/suites/export_p0/test_export_table_with_label_retry.groovy
@@ -157,6 +157,9 @@ suite("test_export_table_with_label_retry", "p0") {
         """
         waiting_export_expect_failed.call(label)
 
+        def res = sql_return_maparray(""" show export where label = "${label}" 
""")
+        assertTrue(res[0].get("ErrorMsg").toString().contains("Unknown broker 
name(null)"))
+
         // exec right export with same label again
         sql """
             EXPORT TABLE ${table_export_name} TO "file://${outFilePath}/"


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

Reply via email to