Full ERROR message example
ERROR main 2020-10-19 19:13:57,431 CassandraDaemon.java:785 - Node 10.200.1.1 cannot complete replacement of alive node 10.200.36.48
What does this error mean?
This error means that an operation was ran to replace an existing node with the current node.
Why does this error occur?
Replacing an existing live node is not supported in Cassandra. When trying perform a replacement, Cassandra checks whether or not the node to be replaced is still alive. Generally, the operation will be killed well before reaching this portion of the code. Cassandra will check for a gossip EndpointState from the node to be replaced. If the EndpointState update timestamp is greater than the current time (minus delay time for messaging), the node is known to be alive and an UnsupportedOperationException is thrown and generates a message similar to the following:
ERROR main 2020-10-19 19:13:57,431 CassandraDaemon.java:785 - Exception encountered during startup
java.lang.UnsupportedOperationException: Cannot replace a live node...
If the gossip check doesn't kill off the operation, Cassandra checks again when trying to transition the new node to a normal state. If the node to replace shows as alive from the FailureDetector, Cassandra logs this error and then stops the process.
How do you fix this error?
Make sure that the node you are trying to replace is indeed down. If you encounter this error on a node that you believe to be dead, check the network connection between nodes to rule out network latency causing nodes to see each other as down.