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

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Problem Summary: FE shutdown could stop service while accepted local 
statements or Flight results were still active. BE shutdown waited only for 
fragments and could miss load receivers, queued opens and transaction cleanup. 
After a restart, cached connections and immediate backend scheduling could 
expose a node before recovery.
   
   Drain accepted FE requests and BE load ownership within configurable 
budgets. Keep Flight result retrieval available, clean idle MySQL sessions on a 
bounded worker, and count receiver opens before queuing. Add 
operator-controlled rolling mode with fresh-master Stream Load retries, local 
DNS/client invalidation, graceful gRPC retirement, new BE brpc probes and 
five-heartbeat confirmation. Preserve the 4.1 TLS factories, Flight SQL 
implementation and normal query failure handling. Use optional heartbeat field 
16 to avoid master's existing field 15.
   
   Adapt the imported tests to the target branch: use the common fetchDataAsync 
RPC and retain channel configuration generation checks; keep only the two 
graceful LoadChannelMgr census tests in a dedicated file using the target 
completion API.
   
   ### Release note
   
   Support bounded FE/BE graceful shutdown and rolling restart on 4.1. Enable 
SET GLOBAL enable_graceful_shutdown = true before rolling nodes and restore 
false afterwards. FE readiness drain defaults to 15 seconds. Recovering 
backends require five successful heartbeats in rolling mode before scheduling 
resumes.
   
   ### Check List (For Author)
   
   - Test: 43 focused FE unit tests pass using run-fe-ut.sh. FE Checkstyle, 
clang-format 16 and shell syntax checks pass. Modified BE production/test 
translation units pass compiler syntax checks using ASAN compilation database 
flags. Full BE linking, BE runtime tests and cluster rolling restart tests were 
not run for this port.
   - Behavior changed: Yes; graceful drain, rolling-mode retries and backend 
recovery gating.
   - Does this need documentation: Yes; docs/graceful-shutdown-4.1.md is 
included.
   
   (cherry picked from commit b6e8efd21b533c725adcc7b27f92e9b5cb48283e)
   
   ### What problem does this PR solve?
   
   Issue Number: close #xxx
   
   Related PR: #xxx
   
   Problem Summary:
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] Regression test
       - [ ] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason <!-- Add your reason?  -->
   
   - Behavior changed:
       - [ ] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [ ] No.
       - [ ] Yes. <!-- Add document PR link here. eg: 
https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   
   


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