You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ta...@apache.org on 2018/08/06 20:20:07 UTC

[3/3] impala git commit: IMPALA-7396: unblock testing with --thread_creation_fault_injection

IMPALA-7396: unblock testing with --thread_creation_fault_injection

These are minimal fixes to allow testing new patches with the fault
injection.

ClientRequestState: fixing this seems somewhat involved, so disabled the
fault injection for now to unblock further testing.

HdfsScanNode: thread_state_.DecrementNumActive() was called on the error
path before the count had actually been incremented.

Testing:
Ran some of the end-to-end tests for 20-30 minutes and confirmed that
no Impalads crashed.

  start-impala-cluster.py \
    --impalad_args=--thread_creation_fault_injection=true
  impala-py.test tests/query_test/*.py -n2 --verbose

Change-Id: Idc9da645c449a266e3a54d0e35b18a2823019cb7
Reviewed-on: http://gerrit.cloudera.org:8080/11123
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Tim Armstrong <ta...@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/a0673c05
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/a0673c05
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/a0673c05

Branch: refs/heads/master
Commit: a0673c058754a323ef88459532f0c19881f3c143
Parents: 8bd9f17
Author: Tim Armstrong <ta...@cloudera.com>
Authored: Fri Aug 3 16:41:46 2018 -0700
Committer: Tim Armstrong <ta...@cloudera.com>
Committed: Mon Aug 6 20:19:43 2018 +0000

----------------------------------------------------------------------
 be/src/exec/hdfs-scan-node.cc          | 1 -
 be/src/service/client-request-state.cc | 4 +++-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/a0673c05/be/src/exec/hdfs-scan-node.cc
----------------------------------------------------------------------
diff --git a/be/src/exec/hdfs-scan-node.cc b/be/src/exec/hdfs-scan-node.cc
index 5d4f9b0..d4cef94 100644
--- a/be/src/exec/hdfs-scan-node.cc
+++ b/be/src/exec/hdfs-scan-node.cc
@@ -265,7 +265,6 @@ void HdfsScanNode::ThreadTokenAvailableCb(ThreadResourcePool* pool) {
       Thread::Create(FragmentInstanceState::FINST_THREAD_GROUP_NAME, name, fn, &t, true);
     if (!status.ok()) {
       ReturnReservationFromScannerThread(lock, scanner_thread_reservation);
-      thread_state_.DecrementNumActive();
       // Release the token and skip running callbacks to find a replacement. Skipping
       // serves two purposes. First, it prevents a mutual recursion between this function
       // and ReleaseThreadToken()->InvokeCallbacks(). Second, Thread::Create() failed and

http://git-wip-us.apache.org/repos/asf/impala/blob/a0673c05/be/src/service/client-request-state.cc
----------------------------------------------------------------------
diff --git a/be/src/service/client-request-state.cc b/be/src/service/client-request-state.cc
index 398ab59..5839e9c 100644
--- a/be/src/service/client-request-state.cc
+++ b/be/src/service/client-request-state.cc
@@ -651,8 +651,10 @@ Status ClientRequestState::Exec(const TMetadataOpRequest& exec_request) {
 }
 
 Status ClientRequestState::WaitAsync() {
+  // TODO: IMPALA-7396: thread creation fault inject is disabled because it is not
+  // handled correctly.
   return Thread::Create("query-exec-state", "wait-thread",
-      &ClientRequestState::Wait, this, &wait_thread_, true);
+      &ClientRequestState::Wait, this, &wait_thread_, false);
 }
 
 void ClientRequestState::BlockOnWait() {