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.