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();
