Repository: incubator-impala
Updated Branches:
  refs/heads/master fa1361b86 -> de12d86f2


IMPALA-4631: avoid DCHECK in PlanFragementExecutor::Close().

Occasionally, we see other_time == total_time+1 for some reason
we don't yet understand. We've only seen this on EC2 and with
CLOCK_MONOTONIC_COARSE, so it could be that clock occasionally
goes backwards. The intent of the DCHECK is to verify that
we didn't miss accounting entire intervals of time, so let's
loosen it slightly to avoid this "false" positive.

Change-Id: Ia9883fdb1be6a4301864da85da56ec96f4dafbe7
Reviewed-on: http://gerrit.cloudera.org:8080/6375
Reviewed-by: Dan Hecht <[email protected]>
Reviewed-by: Michael Ho <[email protected]>
Tested-by: Impala Public Jenkins


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

Branch: refs/heads/master
Commit: de12d86f208ceaf75b5d45aca229002002e8f860
Parents: fa1361b
Author: Dan Hecht <[email protected]>
Authored: Mon Mar 13 18:24:25 2017 -0700
Committer: Impala Public Jenkins <[email protected]>
Committed: Tue Mar 14 20:36:32 2017 +0000

----------------------------------------------------------------------
 be/src/runtime/plan-fragment-executor.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/de12d86f/be/src/runtime/plan-fragment-executor.cc
----------------------------------------------------------------------
diff --git a/be/src/runtime/plan-fragment-executor.cc 
b/be/src/runtime/plan-fragment-executor.cc
index bafba5d..3594138 100644
--- a/be/src/runtime/plan-fragment-executor.cc
+++ b/be/src/runtime/plan-fragment-executor.cc
@@ -513,7 +513,9 @@ void PlanFragmentExecutor::Close() {
     RuntimeProfile::Counter* counter = timings_profile_->GetCounter(name);
     if (counter != nullptr) other_time += counter->value();
   }
-  DCHECK_LE(other_time, total_time);
+  // TODO: IMPALA-4631: Occasionally we see other_time = total_time + 1 for 
some reason
+  // we don't yet understand, so add 1 to total_time to avoid DCHECKing in 
that case.
+  DCHECK_LE(other_time, total_time + 1);
 #endif
   runtime_state_->ReleaseResources();
 

Reply via email to