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/17 12:01:01 UTC

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

     [ https://issues.apache.org/jira/browse/IMPALA-10393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zoltán Borók-Nagy resolved IMPALA-10393.
----------------------------------------
    Fix Version/s: Impala 4.0
       Resolution: Fixed

> 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
>            Assignee: Zoltán Borók-Nagy
>            Priority: Major
>              Labels: broken-build, impala-iceberg
>             Fix For: Impala 4.0
>
>
> 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 which 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)