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

          Activity

            Public project attachment banner

              context keys: [headless, issue, helper, isAsynchronousRequest, project, action, user]
              current Project key: WFLY

              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: