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)