[infinispan-dev] Keeping formats compatible

Galder Zamarreño galder at redhat.com
Thu Jul 11 12:26:08 EDT 2013


Too many paralell discussions in this email thread… changing title…

On Jul 11, 2013, at 12:14 PM, Sanne Grinovero <sanne at infinispan.org> wrote:

> Thanks Galder for opening the JIRA; but I wonder if we actually have a way out.
> 
> 5.3.0.Final was released already, so if you want to "fix" its format
> to be compatible with 5.2 in a minor patch version - probably 5.3.1 -
> then that would break compatibility with 5.3.0 which is maybe even
> worse.

Hold on till we've figured out the cause… and if you're a rigt, a potential fix could be investigated to make 5.3.0 and 5.3.1 compatible...

> Probably the lesser evil is to clearly warn about this and suggest an
> external dump; this way we also save some work as we could drop the
> existing CacheStore implementation and move on.. the saved dev time
> could be spent on tests to make sure this problem won't occur again as
> it clearly is a major problem if it slips into a released version
> without being spotted on time.

When we started investigating rolling upgrades we played with the idea of having a serialized format that's readable between different versions and we created [1]. I actually created some branches to investigate the feasibility of adding such tests: [2, 3, 4, 5, 6], and of course found incompatibilities. This idea was abandoned and instead we decided on a Hot Rod based mechanism to transfer the data from one cluster to the other.

Such tests could be added, but there needs to be a limit on how far we want to be backwards compatible with. IOW, trying for Infinispan 5.3 to be backwards compatible with 4.0 would be a lot of work. The minimum req would possibly be that we're backwards compatible between minors.

This is something we can try to start imposing from 6.0 onwards. It's a good moment to start doing it, at the beginning of a major release.

[1] https://issues.jboss.org/browse/ISPN-2034
[2] https://github.com/galderz/infinispan/tree/archive/t_2034_40x
[3] https://github.com/galderz/infinispan/tree/archive/t_2034_41x
[4] https://github.com/galderz/infinispan/tree/archive/t_2034_42x
[5] https://github.com/galderz/infinispan/tree/archive/t_2034_50x
[6] https://github.com/galderz/infinispan/tree/archive/t_2034_51x


> 
> Cheers,
> Sanne

--
Galder Zamarreño
galder at redhat.com
twitter.com/galderz

Project Lead, Escalante
http://escalante.io

Engineer, Infinispan
http://infinispan.org




More information about the infinispan-dev mailing list