I also tested an upgrade of the PoC 2-node cluster running Ignite 2.4 to 2.5.
Both nodes shut down, upgraded, started on node1, started on node2, cluster
looking healthy with both nodes ONLINE. Then I shut down one of the nodes
with "kill -k -al" using batch ignitevisorcmd.sh. Trying to start it brings
back the good old
class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
join mixed cluster running in compatibility mode
at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.onGridDataReceived(GridClusterStateProcessor.java:714)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:883)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1939)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4354)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2744)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2536)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6775)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2621)
at
org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
Amazingly when I kicked the node out of the baseline, started it (then it
does start), added back to the baseline and killed the Java process and
ignite.sh with the Linux kill command (as mentioned I had to try it on a
system without systemd) the node DID start (!?).
That made me thing that it has something to do with the ignitevisorcmd.sh.
What I did I then started ignitevisorcmd.sh on node1 and connected it,
killed ignite (by killing the process) on node2 and bang! - it would not
start again with the "mixed cluster running in compatibility mode" garbage.
So my conclusion is that if you restart a node when ignitevisorcmd.sh is
connected to the mesh on any node (be that the restarted one or any other),
then you will get the "Node with BaselineTopology cannot join mixed cluster
running in compatibility mode" error and your node won't start. My knowledge
of Ignite is poor but I think it must have something to do with ignitevisor
being a kind of a node too. But in that case would any client node connected
cause the same problem? I didn't try - didn't get that far.
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/