JNSimba opened a new pull request, #69989:
URL: https://github.com/apache/doris/pull/69989

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Problem Summary:
   
   A cloud Stream Load request can still arrive from a BE after scaling has 
removed that BE from FE metadata. Resolving the compute group then obtains a 
null backend and throws a NullPointerException, which reaches the caller as a 
generic INTERNAL_ERROR.
   
   Return a descriptive UserException containing the missing backend ID 
instead. The existing RPC exception handler converts it to ANALYSIS_ERROR. The 
request fails before plan generation, allowing the existing CDC task failure 
and automatic rescheduling flow to handle recovery.
   
   Add an RPC-level test for a missing backend with token authentication and a 
compute-group header. It checks the returned status and backend ID, absence of 
an execution plan, and ConnectContext cleanup.
   
   ### Release note
   
   Cloud Stream Load requests referencing a removed backend now return an error 
identifying that backend instead of a generic NullPointerException.
   
   ### Check List (For Author)
   
   - Test
       - [x] Unit Test: `bash run-fe-ut.sh --run 
org.apache.doris.load.StreamLoadHandlerTest` on an isolated development-machine 
directory: 15 tests passed. Before the fix, the new test failed because it 
received INTERNAL_ERROR instead of ANALYSIS_ERROR.
       - Checkstyle: `mvn checkstyle:check -pl fe-core`, 0 violations.
   - Behavior changed:
       - [x] Yes. A missing backend returns ANALYSIS_ERROR with its ID; CDC 
scheduling and offset behavior are unchanged.
   - Does this need documentation?
       - [x] No.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   


-- 
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