You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Henry Robinson (JIRA)" <ji...@apache.org> on 2017/02/17 02:04:41 UTC

[jira] [Created] (KUDU-1887) Allow RPC handlers to discard inbound transfer

Henry Robinson created KUDU-1887:
------------------------------------

             Summary: Allow RPC handlers to discard inbound transfer
                 Key: KUDU-1887
                 URL: https://issues.apache.org/jira/browse/KUDU-1887
             Project: Kudu
          Issue Type: Improvement
          Components: rpc
    Affects Versions: 1.2.0
            Reporter: Henry Robinson
            Priority: Minor


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.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)