Csaba Ringhofer created IMPALA-13272:
----------------------------------------

             Summary: Analyitic function of collections can lead to crash
                 Key: IMPALA-13272
                 URL: https://issues.apache.org/jira/browse/IMPALA-13272
             Project: IMPALA
          Issue Type: Improvement
            Reporter: Csaba Ringhofer


Using Impala's test data the following query leads to DCHECK in debug builds 
and may cause more subtle issues in RELEASE builds:

{code}
select
  row_no
from (
           select
                 arr.small,
                 row_number() over (
                  order by arr.inner_struct1.str) as row_no
           from functional_parquet.collection_struct_mix t, 
t.arr_contains_nested_struct arr
         ) res
{code}

The following DCHECK is hit:
{code}
tuple.h:296 Check failed: offset != -1
{code}


The problem seems to be with arr.small, which is referenced in the inline view, 
but not used in the outer query - removing it from the inline view or adding it 
to the outer select leads to avoiding the bug. The problem seems related to 
materialization - offset==-1 means that the slot is not materialized, but the 
Parquet scanner still tries to materialize it.

It is not clear yet which commit introduced the bug or whether this is a bug in 
the planner or the backend. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to