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

In-place Rolling Upgrade Marshaller Changes

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 9.4.0.Final
    • Core, Loaders and Stores
    • None
    • Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 10.0.0.Beta1, DataGrid Sprint #29, DataGrid Sprint #30, DataGrid Sprint #39

      In order to allow for compatibility between infinispan versions it is necessary for us to utilise a marshalling implementation at both the cluster (internal node-to-node communication) and persistence layer that is strictly defined but allows for future changes. This is necessary in order to facilitate both rolling and start/stop upgrades. Protocol buffers should be utilised as the wire/storage format, with protostream providing the implementation.

          1.
          Replace external marshaller with user marshaller Sub-task Closed Major Ryan Emerson
          2.
          Split global marshaller into Persistence and Internal marshaller Sub-task Closed Major Ryan Emerson
          3.
          Replace GlobalMarshaller with protobuf based marshaller Sub-task To Do Major Ryan Emerson
          4.
          Create Protobuf based user marshaller Sub-task Closed Major Ryan Emerson
          5.
          Deprecate StreamingMarshaller interface Sub-task Closed Major Ryan Emerson
          6.
          Make MarshalledEntryImpl private and utilise MarshalledEntryFactory instead Sub-task Closed Major Ryan Emerson
          7.
          Stop exposing InternalMetadata via the persistence SPI Sub-task Closed Major Ryan Emerson
          8.
          Ensure Backwards Compatibility with Persistence SPI changes Sub-task Closed Major Ryan Emerson
          9.
          Add build step to check protobuf schema changes are backwards compatible Sub-task Closed Major Ryan Emerson
          10.
          Adapt StoreMigrator to support Infinispan 8-10 marshallers Sub-task Closed Major Ryan Emerson
          11.
          Deprecate org.infinispan.commons.marshall.Externalizer and @SerializeWith Sub-task Closed Major Ryan Emerson
          12.
          Introduce `.impl` package for internal marshalling classes Sub-task To Do Major Ryan Emerson
          13.
          Remove jboss-marshalling dependency from core Sub-task Closed Major Ryan Emerson
          14.
          Remove ExternalPojo Interface and ExternallyMarshallable Sub-task Closed Major Ryan Emerson
          15.
          Allow multiple SerializationContextInitializers to be provided via configuration Sub-task Closed Major Ryan Emerson
          16.
          Update Marshalling documentation and upgrade notes Sub-task Closed Major Ryan Emerson
          17.
          Utilise TYPE_ID_ANNOTATION for known internal types Sub-task Closed Major Ryan Emerson
          18.
          Remove UserMarshallerWhiteList Sub-task Closed Major Ryan Emerson
          19.
          Provide Externalizer aware Serialization marshaller as default user marshaller Sub-task Closed Major Ryan Emerson
          20.
          Remove jboss-marshalling and make Protostream the default user marshaller Sub-task Closed Major Ryan Emerson
          21.
          Deprecate JBossUserMarshaller and associated classes Sub-task Closed Major Ryan Emerson

              remerson@redhat.com Ryan Emerson
              remerson@redhat.com Ryan Emerson
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: