We are upgrading a gateway from 9.4 to v10. This is a docker GW in kubernetes.
The database is external in AWS RDS. The process was as follows:
1. Add v10 license to 9.4 original GW
2. mysqldump ssg DB from original 9.4 gateway
3. create a MySQL8 database + add UTF8, logbin & auth stuff etc. However, could only use UTF8mb4 (as mb3 was not an option in RDS)
4. source 9.4 ssg database into MySQL8 instance
5. Change yaml to use gw v10 + point to MySQL8/9.4 DB
6. Apply yaml and start gateway.
The below error is reported when tryng to upgrade:
Reason of failure for node join: Joining node's version 3.12.5 is not compatible with cluster version 3.10 (Rolling Member Upgrades are only supported in Hazelcast Enterprise)
Release : 9.x, 10.0
Component : API GATEWAY
The error indicates hazelcast tries to connect to another cluster node running a different version which is not compatible,
Having a Hazelcast enterprise license with the rolling upgrade feature enables you to perform a rolling upgrade to the next minor version, so you can upgrade for example from 3.8.3 to 3.9.1 but you still cannot upgrade directly from 3.8.x to 3.11.y. You have to either restart the cluster or make each next-minor-version rolling upgrade (3.8 to 3.9, then to 3.10 etc) to avoid downtime.
Please refer to the below documentation on Hazelcast rolling upgrade:
https://hazelcast.com/blog/rolling-upgrade-hazelcast-imdg-on-kubernetes/
https://docs.hazelcast.org/docs/3.11/manual/html-single/index.html#rolling-member-upgrades
Refer to: Rolling Upgrade by Minor Version (Enterprise Only)