Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-2034

Add backwards serialization compatibility tests

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    • Icon: Enhancement Enhancement
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • None
    • Marshalling

      Take each existing minor branch, i.e. 4.1.x, 4.0.x,...etc and modify VersionAwareMarshallerTest so that payloads are stored in a data file.

      Then, take data files for each branch and store in git (master and 5.1.x), and try reading them with the existing externalizer/marshalling set up.

      It should work...

            [ISPN-2034] Add backwards serialization compatibility tests

            Regardless of rolling upgrades, without any tests we run risk of having issues such as ISPN-3311. We should at least have test to verify marshalling at the level of minor versions. We should target this from 6.0 onwards, good time to get it implemented now. I already some prep work before (see 2034 archive tags)

            Galder Zamarreño added a comment - Regardless of rolling upgrades, without any tests we run risk of having issues such as ISPN-3311 . We should at least have test to verify marshalling at the level of minor versions. We should target this from 6.0 onwards, good time to get it implemented now. I already some prep work before ( see 2034 archive tags )

            This was originally to support rolling upgrades, but this isn't necessary for the current rolling upgrade design as we won't be running different version nodes in the same cluster.

            Manik Surtani (Inactive) added a comment - This was originally to support rolling upgrades, but this isn't necessary for the current rolling upgrade design as we won't be running different version nodes in the same cluster.

            More incompatibilities: in 5.0.x we removed 18 as a marshalling id, which means that old 4.x data won't be readable from 5.0.x.

            Galder Zamarreño added a comment - More incompatibilities: in 5.0.x we removed 18 as a marshalling id, which means that old 4.x data won't be readable from 5.0.x.

            More incompatibilities. 4.0.x payloads (at least, 4.1.x might have same issues...) cannot be read by 4.2.x. The former did not send any flags and 4.2.x does not protect agains the fact that flags might not come in the payload.

            Galder Zamarreño added a comment - More incompatibilities. 4.0.x payloads (at least, 4.1.x might have same issues...) cannot be read by 4.2.x. The former did not send any flags and 4.2.x does not protect agains the fact that flags might not come in the payload.

            A compatibility issue found between 4.0.x and 4.1.x. In the former, AtomicHashMaps were marshalled sending deltas around, and in the latter FastCopyHashMap instances. This results in 4.1.x not being able to read 4.0.x AtomicHashMaps.

            Galder Zamarreño added a comment - A compatibility issue found between 4.0.x and 4.1.x. In the former, AtomicHashMaps were marshalled sending deltas around, and in the latter FastCopyHashMap instances. This results in 4.1.x not being able to read 4.0.x AtomicHashMaps.

              rh-ee-galder Galder Zamarreño
              rh-ee-galder Galder Zamarreño
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: