Todd Lipcon has submitted this change and it was merged.

Change subject: rpc: call-level feature flags
......................................................................


rpc: call-level feature flags

This adds a new API RpcController::RequireServerFeature on the client side, and
ServiceIf::SupportsFeature on the service side. These APIs make it possible for
the client to require application-specific feature support on the server in
order for an individual RPC call to be serviced. If the feature is not
supported, the RPC is rejected and an appropriate error is returned.

This will be used in the future when adding features to existing RPC messages,
so that the server does not silently ignore additional fields.

These RPC features require a new RPC feature flag, APPLICATION_FEATURE_FLAGS, to
be supported. If the server does not support that RPC feature flag, then the
call will fail on the client side.

Change-Id: I46e46bcf80b93fc6cce50f37dd71a6e6539047f8
Reviewed-on: http://gerrit.cloudera.org:8080/2239
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon <[email protected]>
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/constants.cc
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/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
M src/kudu/rpc/rtest.proto
M src/kudu/rpc/sasl_rpc-test.cc
M src/kudu/rpc/service_if.cc
M src/kudu/rpc/service_if.h
M src/kudu/rpc/service_pool.cc
M src/kudu/rpc/transfer.cc
M src/kudu/rpc/transfer.h
M src/kudu/util/CMakeLists.txt
A src/kudu/util/scoped_cleanup-test.cc
A src/kudu/util/scoped_cleanup.h
21 files changed, 384 insertions(+), 51 deletions(-)

Approvals:
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/2239
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I46e46bcf80b93fc6cce50f37dd71a6e6539047f8
Gerrit-PatchSet: 14
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Dan Burkert <[email protected]>
Gerrit-Reviewer: Jean-Daniel Cryans
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to