From 20758576b237b761b712ba07c817bc0c20d2caeb Mon Sep 17 00:00:00 2001 From: Ashin Gau Date: Fri, 12 Jul 2024 22:46:03 +0800 Subject: [PATCH] [fix](split) remove retry when fetch split batch failed (#37637) bp: #37636 --- be/src/vec/exec/scan/split_source_connector.cpp | 10 ++-------- .../apache/doris/datasource/SplitSourceManager.java | 7 ++++++- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/be/src/vec/exec/scan/split_source_connector.cpp b/be/src/vec/exec/scan/split_source_connector.cpp index 9bba44b4e7..6533ae2bfe 100644 --- a/be/src/vec/exec/scan/split_source_connector.cpp +++ b/be/src/vec/exec/scan/split_source_connector.cpp @@ -56,14 +56,8 @@ Status RemoteSplitSourceConnector::get_next(bool* has_next, TFileRangeDesc* rang TFetchSplitBatchResult result; try { coord->fetchSplitBatch(result, request); - } catch (std::exception& e1) { - LOG(WARNING) << "Failed to get batch of split source: {}, try to reopen" << e1.what(); - RETURN_IF_ERROR(coord.reopen()); - try { - coord->fetchSplitBatch(result, request); - } catch (std::exception& e2) { - return Status::IOError("Failed to get batch of split source: {}", e2.what()); - } + } catch (std::exception& e) { + return Status::IOError("Failed to get batch of split source: {}", e.what()); } _last_batch = result.splits.empty(); _scan_ranges = result.splits; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitSourceManager.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitSourceManager.java index 83a7436df9..6d4b06e0e7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitSourceManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitSourceManager.java @@ -61,7 +61,12 @@ public class SplitSourceManager extends MasterDaemon { } public SplitSource getSplitSource(long uniqueId) { - return splits.get(uniqueId).get(); + WeakReference ref = splits.get(uniqueId); + if (ref == null) { + return null; + } else { + return ref.get(); + } } @Override