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]