github-actions[bot] commented on code in PR #68667:
URL: https://github.com/apache/doris/pull/68667#discussion_r4151766104
##########
fe/fe-core/src/main/java/org/apache/doris/system/Backend.java:
##########
@@ -959,6 +970,12 @@ public boolean handleHbResponse(BackendHbResponse
hbResponse, boolean isReplay)
this.nextForceEditlogHeartbeatTime =
System.currentTimeMillis() + delaySecond * 1000L;
}
} else {
+ // A restarted BE may have been downgraded. Do not reuse its old
capability
+ // while heartbeat failures are still within the liveness
tolerance.
+ if (arrowFlightNativeVariantSupported) {
Review Comment:
[P1] Keep follower BE liveness aligned after a tolerated heartbeat failure.
With `max_backend_heartbeat_failure_tolerance_count=3`, the first failed
heartbeat from a previously capable BE enters this branch, clears the
capability, and returns `isChanged=true`; the leader keeps the BE alive because
its failure counter is only 1. `HeartbeatMgr` journals that BAD response, but
follower replay passes `isReplay=true` to `handleHbResponse`, which immediately
marks the same BE dead below. A follower can therefore lose a healthy BE after
a transient miss, including at failover. Persist the capability clear without
replaying a tolerated failure as a death event, and test leader/follower state
after one failed heartbeat.
--
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]