Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-4399

Add support for oversized messages

    XMLWordPrintableJSON

Details

    Description

      Currently, messages larger than the maximum Akka Framesize cause an error when being transported. We should add a way to pass messages that are larger than the Framesize, as may happen for:

      • collect() calls that collect large data sets (via accumulators)
      • Job submissions and operator deployments where the functions closures are large (for example because it contains large pre-loaded data)
      • Function restore in cases where restored state is larger than checkpointed state (union state)

      I suggest to use the BlobManager to transfer large payload.

      • On the sender side, oversized messages are stored under a transient blob (which is deleted after first retrieval, or after a certain number of minutes)
      • The sender sends a "pointer to blob message" instead.
      • The receiver grabs the message from the blob upon receiving the pointer message

      The RPC Service should be optionally initializable with a "large message handler" which is internally the BlobManager.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              sewen Stephan Ewen
              Votes:
              2 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated: