Henry Robinson has uploaded a new patch set (#2). Change subject: KUDU-1866: [WIP] Add request-side sidecars ......................................................................
KUDU-1866: [WIP] Add request-side sidecars This patch adds sidecars to client requests. Using the same mechanism as on the response-side, clients may attach slices to outbound requests which do not pass through a serialization or copy before being pushed to the network socket. On the server side, these sidecars may be read directly from the underlying byte stream with the interposition of a Protobuf wrapper. The sidecars may be added to a request via RpcController and retrieved via RpcContext (i.e. the reverse of the existing response-side interface). This patch adds a few tests to rpc-test, and all rpc-test tests pass. TODO: * Tidy up response-side sidecars to use scoped ptrs as well. * Consider some SidecarUtil class or module to share the mostly identical logic in CallResponse::ParseFrom() and InboundCall::ParseFrom(). * More tests - too many sidecars, sidecars > rpc_max_message_size, out-of-range sidecar access on server side. Change-Id: I3d709edb2a22dc983f51b69d7660a39e8d8d6a09 --- M src/kudu/rpc/CMakeLists.txt M src/kudu/rpc/inbound_call.cc M src/kudu/rpc/inbound_call.h M src/kudu/rpc/outbound_call.cc M src/kudu/rpc/outbound_call.h M src/kudu/rpc/proxy.cc M src/kudu/rpc/rpc-test-base.h M src/kudu/rpc/rpc-test.cc M src/kudu/rpc/rpc_controller.cc M src/kudu/rpc/rpc_controller.h M src/kudu/rpc/rpc_header.proto A src/kudu/rpc/rpc_sidecar.cc M src/kudu/rpc/rpc_sidecar.h M src/kudu/rpc/rtest.proto M src/kudu/rpc/transfer.h M src/kudu/tserver/tablet_service.cc 16 files changed, 255 insertions(+), 52 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/08/5908/2 -- To view, visit http://gerrit.cloudera.org:8080/5908 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3d709edb2a22dc983f51b69d7660a39e8d8d6a09 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Henry Robinson <he...@cloudera.com>