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]