Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
Impala 2.10.0
-
ghx-label-2
Description
The simple query
select count(*) from tpch_parquet.lineitem where rand() = 10.0
will trigger the following DCHECK below in HdfsScanner::WriteTemplate():
int HdfsScanner::WriteTemplateTuples(TupleRow* row, int num_tuples) { DCHECK_GE(num_tuples, 0); DCHECK_EQ(scan_node_->tuple_idx(), 0); DCHECK_EQ(conjunct_evals_->size(), 0); <<------ if (num_tuples == 0 || template_tuple_ == NULL) return num_tuples; Tuple** row_tuple = reinterpret_cast<Tuple**>(row); for (int i = 0; i < num_tuples; ++i) row_tuple[i] = template_tuple_; return num_tuples; }
The assumption in the scanner is that if there are no materialized slots (e.g. count star), there should be no conjuncts too but that doesn't always seems to be the case.