Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-5293 Enable Spark user applications to use different versions of Akka
  3. SPARK-11230

Add Outbox to cache the sending messages to resolve the message disorder issue

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • None
    • None
    • Spark Core
    • None

    Description

      The current NettyRpc has a message order issue because it uses a thread pool to send messages. E.g., running the following two lines,

      ref.send("A")
      ref.send("B")
      

      The remote endpoint may see "B" before "A" because sending "A" and "B" are in parallel.

      To resolve this issue, we need to add an outbox for each connection, and if we are connecting to the remote node, we can just cache the sending messages in the outbox and send them one by one when the connection is established.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              zsxwing Shixiong Zhu
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: