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

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Related PR: #69450
   
   Problem Summary:
   
   Backport #69450 to `branch-4.1`, cherry-picked with `-x` from 
`4751c5f593cf7f136f2b193621bd5eabde7dc404`.
   
   In FQDN mode, BE Pod IP reuse can leave FE reusing a heartbeat socket 
connected to the wrong process even after DNS converges. Resolve heartbeat 
destinations through FE DNSCache, switch and clean up endpoint pools when 
cached addresses change or backends are removed, and invalidate connections 
after unsuccessful heartbeat responses. Preserve the configured backend 
hostname and ID in the heartbeat request. Recovery follows the existing 
DNSCache refresh policy.
   
   The member-declaration conflict is adapted to the 4.1 HeartbeatMgr layout. 
Both changed files preserve all additions and deletions from the upstream fix.
   
   ### Release note
   
   Fix persistent backend heartbeat failures after BE Pod IP changes in FQDN 
mode.
   
   ### Check List (For Author)
   
   - Test
       - [ ] Regression test
       - [x] Unit Test
       - [ ] Manual test
       - [ ] No need to test or manual test.
   - Behavior changed:
       - [ ] No.
       - [x] Yes. Heartbeat connections follow cached IP changes and are 
discarded after application errors.
   - Does this need documentation?
       - [x] No.
       - [ ] Yes.
   
   Validation:
   
   All 36 targeted FE tests pass on branch-4.1, with 0 failures, errors, or 
skips. The FE UT script finishes with BUILD SUCCESS. This includes all 8 
BackendHeartbeatHandlerTest cases, including the two live Thrift connection 
tests.
   
   ```bash
   ./run-fe-ut.sh --run 
org.apache.doris.system.BackendHeartbeatHandlerTest,org.apache.doris.system.HeartbeatMgrTest,org.apache.doris.common.GenericPoolTest,org.apache.doris.common.DNSCacheTest,org.apache.doris.rpc.BackendServiceProxyTest
   ```
   
   Both changed Java files pass Checkstyle 9.3 with the repository 
configuration. `git diff --check upstream/branch-4.1...HEAD` passes.
   
   ### 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