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)