github-actions[bot] commented on code in PR #64797:
URL: https://github.com/apache/doris/pull/64797#discussion_r3479531589


##########
fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java:
##########
@@ -1046,7 +1046,15 @@ public TFetchSplitBatchResult 
fetchSplitBatch(TFetchSplitBatchRequest request) t
         SplitSource splitSource =
                 
Env.getCurrentEnv().getSplitSourceManager().getSplitSource(request.getSplitSourceId());
         if (splitSource == null) {
-            throw new TException("Split source " + request.getSplitSourceId() 
+ " is released");
+            // Return a structured error status instead of throwing a bare 
TException, so the BE
+            // receives a well-formed error (with a non-empty message) through 
the normal result
+            // path. Throwing here surfaces as a thrift transport exception on 
the BE side and,
+            // on the Arrow Flight path, may feed an empty/invalid error 
string into the gRPC
+            // status conversion. See 
https://github.com/apache/doris/issues/62259
+            LOG.warn("split source {} is released", 
request.getSplitSourceId());
+            result.status = new TStatus(TStatusCode.NOT_FOUND);

Review Comment:
   This changes the released split-source contract from a thrown `TException` 
to a structured `TFetchSplitBatchResult`, but the new branch is not covered by 
a focused test. That contract is what the BE now relies on in 
`RemoteSplitSourceConnector::get_next()` to produce a normal `Status` with a 
non-empty message instead of going through the transport-exception path. A 
small `FrontendServiceImplTest` case can call `fetchSplitBatch` with an 
unregistered split source id and assert that it does not throw, returns 
`TStatusCode.NOT_FOUND`, and carries a non-empty `error_msgs` entry. Without 
that, this regression path can slip back to a bare exception or empty message 
and re-open the Arrow Flight failure mode this PR is hardening.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to