Hello Impala Public Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/14677 to look at the new patch set (#3). Change subject: IMPALA-9137, IMPALA-9138: Mark failed RPCs as retryable and update blacklist ...................................................................... IMPALA-9137, IMPALA-9138: Mark failed RPCs as retryable and update blacklist Introduces two optional fields to TStatus: TErrorType and TRPCErrorMessage. TErrorType introduces a notion of "types" to TStatus objects. For now there are only two types, GENERAL and RETRYABLE. TRPCErrorMessage is set if the TStatus was created as the result of a failed RPC call. It contains the TNetworkAddress of the destination node of the failed RPC. When a Status object is created, SetIsRetryable() can be used to mark the Status as retryable and SetRPCErrorMsg(RPCErrorMsg) can be used to add a TRPCErrorMessage to a Status object. When the Coordinator updates the state of an Impala backend (Coordinator::UpdateBackendExecStatus), if it receives a Status where Status::HasRPCErrorMsg() is true, it takes the RPCErrorMsg destination node, and adds it to the blacklist. Currently, if a Status is marked as retryable (Status::IsRetryable() == true), nothing happens. The change is simply meant to lay the groundwork for future changes. Only RPC failures in KrpcDataStreamSender are marked as retryable and have a RPCErrorMsg set. Re-factored the Thrift files a bit and added a Common.thrift file for all commonly used Thrift structures. Testing: * Ran core tests * Planning to add more tests after IMPALA-8138 is merged Change-Id: I733cca13847fde43c8ea2ae574d3ae04bd06419c --- M be/generated-sources/gen-cpp/CMakeLists.txt M be/src/common/status.cc M be/src/common/status.h M be/src/runtime/coordinator.cc M be/src/runtime/coordinator.h M be/src/runtime/krpc-data-stream-sender.cc M be/src/util/container-util.h M be/src/util/error-util.h M common/protobuf/common.proto M common/thrift/CMakeLists.txt M common/thrift/CatalogObjects.thrift M common/thrift/CatalogService.thrift A common/thrift/Common.thrift M common/thrift/Frontend.thrift M common/thrift/ImpalaInternalService.thrift M common/thrift/StatestoreService.thrift M common/thrift/Status.thrift M common/thrift/Types.thrift M tests/custom_cluster/test_custom_statestore.py M tests/statestore/test_statestore.py 20 files changed, 208 insertions(+), 30 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/77/14677/3 -- To view, visit http://gerrit.cloudera.org:8080/14677 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I733cca13847fde43c8ea2ae574d3ae04bd06419c Gerrit-Change-Number: 14677 Gerrit-PatchSet: 3 Gerrit-Owner: Sahil Takiar <stak...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>