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)

Reply via email to