Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-13426

Optimize marshalling in clustering subsystems using ProtoStream

    XMLWordPrintable

Details

    Description

      Currently, WildFly uses JBoss Marshalling to marshal user objects (session attributes, SFSB instances, etc.) for the purposes of replication and persistence.

      Protostream (developed by the Infinispan team) offers several advantages over JBoss Marshalling.

      • Lower memory footprint (marshalling schemas are built during compilation time)
        • Marshalling is granular, thus avoiding lots of large buffer copying
      • Faster marshalling - as it does not rely on reflection
      • Produces generally smaller replication payloads (see https://docs.google.com/spreadsheets/d/1f6FlXqxX7dYm44naHZfqLc5TjqlmscIdGyyfmt5I3f4/edit?usp=sharing )
      • Resolves security concerns due to JBM's reliance on reflection and Java serialization inherently permitting arbitrary execution of rogue code
      • JBoss Marshalling is effectively in maintenance mode

      Attachments

        Issue Links

          There are no Sub-Tasks for this issue.

          Activity

            People

              pferraro@redhat.com Paul Ferraro
              pferraro@redhat.com Paul Ferraro
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: