sodonnel commented on code in PR #11692:
URL: https://github.com/apache/ozone/pull/11692#discussion_r4359160603
##########
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMDatanodeHeartbeatDispatcher.java:
##########
@@ -104,6 +105,18 @@ public List<SCMCommand<?>>
dispatch(SCMHeartbeatRequestProto heartbeat) {
if (heartbeat.hasCommandQueueReport()) {
commandQueueReport = heartbeat.getCommandQueueReport();
}
+
+ // Stale and dead nodes must pass a version compatibility check before
their heartbeat
+ // timestamp is updated. Without this gate a node that went unhealthy
during a rolling
+ // upgrade could resurrect at an incompatible software version. If the
check fails, ask
+ // the node to re-register so the full registration fence runs with
current version info.
+ if (isUnhealthyWithIncompatibleVersion(datanodeDetails, heartbeat)) {
Review Comment:
You are correct. I think 300d86e3fc1a8cf2c9545b9446be3a7b9845791d fixes this.
--
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]