You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Zoltán Borók-Nagy (Jira)" <ji...@apache.org> on 2020/12/14 14:20:00 UTC

[jira] [Created] (IMPALA-10393) Iceberg field id-based column resolution fails in ASAN builds

Zoltán Borók-Nagy created IMPALA-10393:
------------------------------------------

             Summary: Iceberg field id-based column resolution fails in ASAN builds
                 Key: IMPALA-10393
                 URL: https://issues.apache.org/jira/browse/IMPALA-10393
             Project: IMPALA
          Issue Type: Bug
            Reporter: Zoltán Borók-Nagy


For MAP types field id resolution indexes the top-level columns via the current 'table_idx - 1' at:

https://github.com/apache/impala/blob/4c0bdbada0bc0eeb0435e1ea647573566f0cddbd/be/src/exec/parquet/parquet-metadata-utils.cc#L769-L771

In this case table_idx is either SchemaPathConstants::MAP_KEY or SchemaPathConstants::MAP_VALUE which are 0 and 1 respectively. Hence 'table_idx - 1' can be -1 is not a valid index for a vector, hence we get an ASAN error. Even if the 'table_idx - 1' is zero we get a wrong field id.

Note that at this point in the schema resolution we have successfully found a MAP type with a matching field id, therefore it is safe to resolve the child via the value of 'table_idx' (which is the position of the child, MAP_KEY or MAP_VALUE).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)