Open vbekiaris opened 1 year ago
Jet compatibility is a tricky topic. Current approach is that:
JobCoordinationService.shouldStartJobs
. It think that also cluster version must be the same as code version (so the RU fully completed), but can't find the check.MasterContext.resolveDag
). Jet uses Java serialization.Versioned
, but usually they are not upgraded eagerly unless we implement special procedure for that. Versioned
support provides reasonable compatibility, but we should not remove compatibility with older versions from code (data may remain for a long time, especially in SQL catalog).
According to https://docs.hazelcast.com/hazelcast/latest/deploy/versioning-compatibility#api-compatibility-exceptions, Jet classes only provide patch-level compatibility guarantees.
This contradicts item 2 in Compatibility Guarantees section of Rolling Upgrades which states that "each minor version is compatible with the previous one" (in the context of rolling upgrades for Hazelcast Enterprise).
This should be clarified and proper guidance should be given in the rolling upgrades section. Thanks @burakgok for bringing this to my attention. /cc @k-jamroz