Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-2044

Improve sal-akka-raft serialization protocol

    XMLWordPrintable

Details

    • Improvement
    • Status: Confirmed
    • High
    • Resolution: Unresolved
    • None
    • 10.0.0, 9.0.1
    • clustering

    Description

      The cutover to Akka Artery and tell-based protocol (which puts more strain on persistence) crops up problems with serialization of our messages, like CONTROLLER-2037 (estimates) and CONTROLLER-2043 (raw volume).

      Given that Akka has deprecated Java serialization as the protocol to use and the mentioned issues, it would be prudent to implement a better serialization protocol around Payloads, both in order to remove dependency on Java serialization and to improve its efficiency.

      This mostly revolves around org.opendaylight.controller.cluster.raft.messages.Payload extensibility – we really want to attach a PayloadRegistry which will handle dispatch to serialization based on a single-byte type and base it on DataOutput/WritableObject interfaces. This will allow us to reduce the message overheads (which are significant).

      We should also deal with sal-akka-raft message serialization based on similar interface and tie it in with sal-akka-segmented-journal, so that it can operate more efficiently than through Serializable.

      Attachments

        Issue Links

          # Subject Branch Project Status CR V

          Activity

            People

              Unassigned Unassigned
              rovarga Robert Varga
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: