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 2017/01/11 00:35:03 UTC

incubator-impala git commit: IMPALA-4749: hit DCHECK in sorter with scratch limit

Repository: incubator-impala
Updated Branches:
  refs/heads/master ac59489df -> 0cb76b6e5


IMPALA-4749: hit DCHECK in sorter with scratch limit

The bug is that on one error path where we don't goto
the cleanup block that all the other error paths use.

Testing:
The test fix for IMPALA-4745 triggers the bug.

Change-Id: Id85b96826f13f74c7c5474b0b50e12229e9d8b4f
Reviewed-on: http://gerrit.cloudera.org:8080/5653
Reviewed-by: Dan Hecht <dh...@cloudera.com>
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/0cb76b6e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/0cb76b6e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/0cb76b6e

Branch: refs/heads/master
Commit: 0cb76b6e5e6c64057611fb1eba82f6a40acfec1f
Parents: ac59489
Author: Tim Armstrong <ta...@cloudera.com>
Authored: Mon Jan 9 17:07:47 2017 -0800
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Wed Jan 11 00:31:53 2017 +0000

----------------------------------------------------------------------
 be/src/runtime/sorter.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/0cb76b6e/be/src/runtime/sorter.cc
----------------------------------------------------------------------
diff --git a/be/src/runtime/sorter.cc b/be/src/runtime/sorter.cc
index ed00cd2..5f6bf8b 100644
--- a/be/src/runtime/sorter.cc
+++ b/be/src/runtime/sorter.cc
@@ -721,7 +721,8 @@ Status Sorter::Run::UnpinAllBlocks() {
             reinterpret_cast<uint8_t*>(cur_sorted_var_len_block->buffer()), var_data_ptr);
       }
     }
-    RETURN_IF_ERROR(cur_fixed_block->Unpin());
+    status = cur_fixed_block->Unpin();
+    if (!status.ok()) goto cleanup_blocks;
   }
 
   if (HasVarLenBlocks()) {