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/08/21 22:13:00 UTC

incubator-impala git commit: IMPALA-5819: DCHECK in HdfsTextScanner::Close()

Repository: incubator-impala
Updated Branches:
  refs/heads/master fcf32b584 -> 7d6b05a72


IMPALA-5819: DCHECK in HdfsTextScanner::Close()

The DCHECK is only valid if the scanner successfully processes
the entire scan range. If the scanner is cancelled or hits an
error in-between buffers, boundary_column_ may be non-empty.

The fix is to move the DCHECK to the end of FinishScanRange(),
where it only executes if the scan range is fully processed.

Testing:
Ran TestCancellation in a loop locally for an hour.

Change-Id: I3d63f0b0c1ac82103a60b68b244156b9fbd575e0
Reviewed-on: http://gerrit.cloudera.org:8080/7756
Reviewed-by: Alex Behm <al...@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/7d6b05a7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/7d6b05a7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/7d6b05a7

Branch: refs/heads/master
Commit: 7d6b05a7215d579f8df6c0685575662c6cfc09c4
Parents: fcf32b5
Author: Tim Armstrong <ta...@cloudera.com>
Authored: Mon Aug 21 09:03:17 2017 -0700
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Mon Aug 21 22:02:57 2017 +0000

----------------------------------------------------------------------
 be/src/exec/hdfs-text-scanner.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/7d6b05a7/be/src/exec/hdfs-text-scanner.cc
----------------------------------------------------------------------
diff --git a/be/src/exec/hdfs-text-scanner.cc b/be/src/exec/hdfs-text-scanner.cc
index 761f06f..eea4e80 100644
--- a/be/src/exec/hdfs-text-scanner.cc
+++ b/be/src/exec/hdfs-text-scanner.cc
@@ -162,7 +162,6 @@ void HdfsTextScanner::Close(RowBatch* row_batch) {
     decompressor_->Close();
     decompressor_.reset();
   }
-  DCHECK(boundary_column_.IsEmpty());
   boundary_pool_->FreeAll();
   if (row_batch != nullptr) {
     row_batch->tuple_data_pool()->AcquireData(template_tuple_pool_.get(), false);
@@ -331,6 +330,7 @@ Status HdfsTextScanner::FinishScanRange(RowBatch* row_batch) {
     DCHECK_EQ(num_tuples, 0);
   }
 
+  DCHECK(boundary_column_.IsEmpty()) << "Must finish processing boundary column";
   scan_state_ = DONE;
   return Status::OK();
 }