hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Shelukhin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-5817) column name to index mapping in VectorizationContext is broken
Date Mon, 25 Nov 2013 22:48:38 GMT

    [ https://issues.apache.org/jira/browse/HIVE-5817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13832020#comment-13832020
] 

Sergey Shelukhin commented on HIVE-5817:
----------------------------------------

About the other operators, what do you mean? In the explain of the original query I was looking
at, vectorized select does this
{noformat}
Select Operator
                  expressions:
                        expr: _col22
                        type: string
                        expr: _col53
                        type: float
                  outputColumnNames: _col0, _col1
{noformat}

In that case, _col22 from 2 preceding joins happened to collide, but cannot, for example,
_col1 from the last join become _col0 of select? So the collision will happen when _col1 of
select is added and there's already _col1 from the last join

> column name to index mapping in VectorizationContext is broken
> --------------------------------------------------------------
>
>                 Key: HIVE-5817
>                 URL: https://issues.apache.org/jira/browse/HIVE-5817
>             Project: Hive
>          Issue Type: Bug
>          Components: Vectorization
>            Reporter: Sergey Shelukhin
>            Assignee: Remus Rusanu
>            Priority: Critical
>         Attachments: HIVE-5817-uniquecols.broken.patch, HIVE-5817.00-broken.patch, HIVE-5817.4.patch
>
>
> Columns coming from different operators may have the same internal names ("_colNN").
There exists a query in the form {{select b.cb, a.ca from a JOIN b ON ... JOIN x ON ...;}}
 (distilled from a more complex query), which runs ok w/o vectorization. With vectorization,
it will run ok for most ca, but for some ca it will fail (or can probably return incorrect
results). That is because when building column-to-VRG-index map in VectorizationContext, internal
column name for ca that the first map join operator adds to the mapping may be the same as
internal name for cb that the 2nd one tries to add. 2nd VMJ doesn't add it (see code in ctor),
and when it's time for it to output stuff, it retrieves wrong index from the map by name,
and then wrong vector from VRG.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message