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

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


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 20758576b23 [fix](split) remove retry when fetch split batch failed 
(#37637)
20758576b23 is described below

commit 20758576b237b761b712ba07c817bc0c20d2caeb
Author: Ashin Gau <ashin...@users.noreply.github.com>
AuthorDate: Fri Jul 12 22:46:03 2024 +0800

    [fix](split) remove retry when fetch split batch failed (#37637)
    
    bp: #37636
---
 be/src/vec/exec/scan/split_source_connector.cpp                | 10 ++--------
 .../java/org/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 9bba44b4e76..6533ae2bfe0 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<false>("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 83a7436df9a..6d4b06e0e7b 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<SplitSource> ref = splits.get(uniqueId);
+        if (ref == null) {
+            return null;
+        } else {
+            return ref.get();
+        }
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to