Hello Michael Ho, Sahil Takiar, Impala Public Jenkins,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/14641

to look at the new patch set (#3).

Change subject: IMPALA-8138: Reintroduce rpc debugging options
......................................................................

IMPALA-8138: Reintroduce rpc debugging options

In the past, Impala had a very simple 'fault injection' framework for
simulating failed rpcs between impalads. With the move to KRPC, that
framework was not carried over, and we lost the ability to test
certain failure scenarios.

This patch reintroduces this functionality. It removes the prior fault
injection framework in favor of the existing debug action framework,
which is more flexible.

To facilitate this, a few modifications are made to the debug action
framework:
- In addition to matching on a label, debug actions may now match on
  optional arguments. In this patch, the debug action
  IMPALA_SERVICE_POOL takes the arguments 'host', 'port', and
  'rpc name' to allow simulating the failure of specific rpcs to
  specific impalads.
- The FAIL action now takes an optional 'error message' parameter. In
  this patch, the debug action RPC_SERVICE_POOL uses this to simulate
  different types of rpc errors, eg. 'service too busy'.
- The FAIL action increments a metric, 'impala.debug_action.fail', so
  that tests can check that it has actually been hit. Prior to this
  patch the tests in test_rpc_exception.py where all passing
  spuriously as the faults they were supposed to be testing were no
  longer being injected.

This patch uses these new mechanisms to introduce tests that simulate
failures in DataStreamService rpcs. Follow up patches will add test
cases for ControlService rpcs.

Change-Id: I9c047ebce6d32c5ae461f70279391fa2df4c2029
---
M be/src/rpc/impala-service-pool.cc
M be/src/rpc/impala-service-pool.h
M be/src/rpc/rpc-mgr-kerberized-test.cc
M be/src/rpc/rpc-mgr-test.cc
M be/src/rpc/rpc-mgr-test.h
M be/src/rpc/rpc-mgr.cc
M be/src/rpc/rpc-mgr.h
M be/src/runtime/backend-client.h
M be/src/runtime/data-stream-test.cc
M be/src/runtime/exec-env.cc
M be/src/runtime/test-env.cc
M be/src/service/control-service.cc
M be/src/service/data-stream-service.cc
M be/src/service/impala-internal-service.cc
M be/src/testutil/CMakeLists.txt
D be/src/testutil/fault-injection-util.cc
D be/src/testutil/fault-injection-util.h
M be/src/util/debug-util.cc
M be/src/util/debug-util.h
M be/src/util/impalad-metrics.cc
M be/src/util/impalad-metrics.h
M common/thrift/ImpalaService.thrift
M common/thrift/metrics.json
M tests/common/impala_cluster.py
M tests/common/impala_service.py
M tests/custom_cluster/test_rpc_exception.py
26 files changed, 225 insertions(+), 283 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/41/14641/3
--
To view, visit http://gerrit.cloudera.org:8080/14641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9c047ebce6d32c5ae461f70279391fa2df4c2029
Gerrit-Change-Number: 14641
Gerrit-PatchSet: 3
Gerrit-Owner: Thomas Tauber-Marshall <tmarsh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Sahil Takiar <stak...@cloudera.com>
Gerrit-Reviewer: Thomas Tauber-Marshall <tmarsh...@cloudera.com>

Reply via email to