cassandra
cassandra copied to clipboard
CASSANDRA-17805: Check that the replacing node is alive during host r…
…eplacement
Add a new check during host replacement. Currently, during a node replacement, we check that the node
has not updated gossip for a configured ring_delay amount of time (defaults to 30 seconds). In CASSANDRA-17776,
the delay is calculated from the max value between the BROADCAST_INTERVAL
and 2X the configured ring_delay
.
If we see an update from the node that we are replacing in less than the calculated sleep delay
, we throw a
UnsupportedOperationException
with message Cannot replace a live node....
. However, we never check whether
the node is reporting as alive or not alive. In this commit, we add the check to ensure that the node is in
fact reporting as alive before throwing the exception. Additionally, we add logging information with values for
the token, updateTimestamp
, and allowedDelay
values for better reporting.