ibessonov commented on code in PR #6161: URL: https://github.com/apache/ignite-3/pull/6161#discussion_r2177405318
########## modules/network/src/main/java/org/apache/ignite/internal/network/direct/stream/DirectByteBufferStreamImplV1.java: ########## @@ -73,6 +74,23 @@ * {@link DirectByteBufferStream} implementation. */ public class DirectByteBufferStreamImplV1 implements DirectByteBufferStream { + /** + * There's a binary incompatibility between Apache Ignite 3.0 and later versions due to the bug in 3.0. If someone wants to upgrade from + * 3.0 to any other version on AARCH64 architecture or other architecture that was considered "not unaligned" in Ignite 3.0, they need + * to set this system property to {@code true}. + * + * @see #writeUuidLong(long, long) + * @see #readUuidLong(long) + * @see #unaligned30() + */ + private static final String IGNITE_30_3X_COMPATIBILITY_PROPERTY = "IGNITE_30_3X_UUIDS_SERIALIZATION_COMPATIBILITY"; Review Comment: Ok, imagine you have 3 nodes with Ignite 3.0. You stop them, replace jar files, and now you start these 3 nodes AND two more nodes with Ignite 3.1. 2 new 3.1 nodes will have to somehow deduce that they are connected to the cluster that was first used in 3.0, and adapt the protocols accordingly. This seems complicated, making that decision based on PDS alone seems completely impossible -- 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: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org