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 (#2).

Change subject: IMPALA-9137, IMPALA-9138: Mark failed RPC as retryable, add dst 
node to blacklist
......................................................................

IMPALA-9137, IMPALA-9138: Mark failed RPC as retryable, add dst node to 
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 states of
(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/2
--
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: 2
Gerrit-Owner: Sahil Takiar <stak...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>

Reply via email to