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]>
