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

Optimize marshalling in clustering subsystems using ProtoStream

XMLWordPrintable

      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

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

                Created:
                Updated:
                Resolved: