Aleksandr Chesnokov created IGNITE-27554:
--------------------------------------------
Summary: Improve discovery handshake diagnostics for incompatible
versions
Key: IGNITE-27554
URL: https://issues.apache.org/jira/browse/IGNITE-27554
Project: Ignite
Issue Type: Improvement
Reporter: Aleksandr Chesnokov
h2. Problem
When a node with a different Ignite version tries to join (e.g. 2.17 to 2.18),
the discovery handshake may fail before node validation.
We expect a clear message like:
"Remote node rejected due to incompatible version for cluster join"
but it is not printed. Instead, logs show low-level errors like
StreamCorruptedException, EOFException, or Connection reset, so the real reason
(version mismatch) is unclear.
The root cause is that the discovery message serialization format changed:
after IGNITE_HEADER the new protocol writes an extra leading byte (serMode),
while older nodes do not write it. As a result, the new node cannot even read
TcpDiscoveryHandshakeRequest and logs:
"Received unexpected byte while reading discovery message: -84"
This message is confusing for support and does not explain what action to take.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)