Hello Daniel Becker, Zoltan Borok-Nagy, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/17596
to look at the new patch set (#4).
Change subject: IMPALA-10742: Fix DCHECK in CreateColIdx2EqConjunctMap
......................................................................
IMPALA-10742: Fix DCHECK in CreateColIdx2EqConjunctMap
The following query was hitting a DCHECK because the right side was not
a literal (due to disabling expression rewrite):
set enable_expr_rewrites=0;
select count(*) from alltypesagg where timestamp_col
between cast('2010-01-01 00:00:00' as timestamp)
and cast('2010-01-01 01:40:00' as timestamp);
An even simpler problematic query:
select count(*) from alltypestiny where int_col = 1 + 1;
The cause of the issue was that FE expects the right side
to be constant expr to generate a stat predicate, but it does not
need to be a literal, while the BE expected a literal. By default
constant folding converts all constant expressions to literals, so
this only matters if expression rewrites are turned off.
The fix is to ignore these predicates instead of DCHECKing. It would be
possible to evaluate const expr in BE instead of needing a literal,
but this would add complexity and only help in a non default case that
is not used normally in production.
I think that the best solution would be to pass exact values instead of
expressions from FE to BE for stat filtering, but this would be a
bigger change.
Testing:
- Changed TestExprs to use Parquet instead of Text in core tests.
Parquet seems more interesting as it also gives coverage for
predicate pushdown logic. The coverage of exhaustive tests is
not changed.
- Ran TestExprs.
Change-Id: I1ef97d829e6c3792aade9c61c4aee0d91cd0064b
---
M be/src/exec/parquet/hdfs-parquet-scanner.cc
M tests/query_test/test_exprs.py
2 files changed, 8 insertions(+), 6 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/96/17596/4
--
To view, visit http://gerrit.cloudera.org:8080/17596
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1ef97d829e6c3792aade9c61c4aee0d91cd0064b
Gerrit-Change-Number: 17596
Gerrit-PatchSet: 4
Gerrit-Owner: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Daniel Becker <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>