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]