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

In-place Rolling Upgrade Marshaller Changes

    XMLWordPrintable

Details

    • Enhancement
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 9.4.0.Final
    • None
    • 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

    Description

      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.

      Attachments

        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 Open 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 Open 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

        Activity

          People

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

            Dates

              Created:
              Updated: