Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-1887

Allow RPC handlers to discard inbound transfer

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.2.0
    • 1.4.0
    • rpc
    • None

    Description

      This is a general feature request for using KRPC in Impala, not something that affects Kudu itself right not AFAIK.

      A common pattern with communication patterns where a lot of flows fan-in to a single server is for the server to delay returning a response to a client for a while, in order to implement some kind of flow control when the server is at capacity.

      If a client sends a lot of data (perhaps by sidecar - KUDU-1866), there's currently no way AFAICT to retain the RpcContext needed to delay sending the response, but to drop the associated transfer buffer (that, presumably, is putting the server over its capacity).

      So we could have RpcContext::DiscardTransfer() which drops the InboundCall's InboundTransfer. Since this likely to be called after handling the request, the request protobuf should still be independently attached to the RpcContext. After DiscardTransfer, it's an error to look at any inbound sidecars.

      Attachments

        Activity

          People

            henryr Henry Robinson
            henryr Henry Robinson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: