Comment From: snicoll
@jerrinot since you kindly offered assistance for anything Hazelcast-related, I am wondering how we should treat Hazelcast 5 with regards to the merge with JET. There's quite some context in #20729. Do I understand that this wouldn't be required anymore when running with Hazelcast 5?
Spring Boot has back compatibility for Hazecast 3. I'd suggest to raise that to 4 perhaps although I didn't have to change anything for this to work.
Comment From: jerrinot
hi @snicoll, that's correct. Hazelcast 5 includes Jet functionality. There is a single entry point: HazelcastInstance, the original JetInstance is gone and there are no separate artefacts with Jet. Practically this means you don't have to differentiate between Jet and IMDG anymore. When you detect Hazelcast 5.x on a classpath then Jet won't be there. Unless it's a configuration error.
When it comes to compatibility:
* Hazelcast IMDG 4.x is not compatible with Hazelcast IMDG 3.x. We moved some classes to different packages. For example, the IMap interface. This means 3.x and 4.x are incompatible on both source and binary levels. In a hindsight, this was a mistake, but it happened. This means it's rather hard to maintain integrations that work with both Hazelcast 3.x and Hazelcast 4.x.
* Hazelcast 5.x is compatible with Hazelcast IMDG 4.x. There are some exceptions, but drop-in replacement should work for most users, including integrations frameworks such as Spring.
Comment From: snicoll
Hazelcast IMDG 4.x is not compatible with Hazelcast IMDG 3.x.
We are aware. Spring Boot has some reflection tricks to be compatible with both and that wasn't easy. I am more wondering if we should keep them or drop compatibility for Hazelcast 3 in Spring Boot 2.7.x+
Comment From: jerrinot
@snicoll my private opinion is that Spring Boot 2.7.x could drop the support for HZ 3.x, especially if it's costly to maintain.
I believe the split between 3.x and 4.x is roughly 50:50, but that's for all deployments out there. For new projects it makes little sense to start 3.x. So the only problem could be Boot 2.6.x users migrating to 2.7.x, but not upgrading Hazelcast for any reason.
summoning @dbrimley as he has a better insight, he promised to chime in.
Comment From: dbrimley
Hi @snicoll
The official Hazelcast view is we would be ok with you dropping support for HZ 3.x, hopefully, that will make your life easier.
HZ 3.x is several years old now and as @jerrinot says we think the majority of people are on 4.x and some are on 5.x which has just been released this year.
Comment From: snicoll
Closed by a780e87.
@dbrimley thanks for the insights. We do document Hazelcast 3 support in our reference guide so we can't drop support in a feature release like that. I've marked Hazelcast 3 support deprecated instead.
Comment From: DidierLoiseau
@snicoll I was not able to find a note about the upgrade to Hazelcast 5 and deprecation of version 3 in Spring Boot 2.7, be it in the Spring Boot 2.7 Release Notes or its announcement blog post. The only references I find is the link to this ticket in the v2.7.0-M1 release and the Spring Boot IO documentation.
Shouldn’t it be added?
Comment From: wilkinsona
Thanks, @DidierLoiseau. I've made some updates to the release notes.