[ https://issues.apache.org/jira/browse/HIVE-5817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13831772#comment-13831772 ]
Sergey Shelukhin commented on HIVE-5817: ---------------------------------------- Currently other operators also change the column names. In fact there's new method that gets the source operator for lineage, note that the only place where it passes thru to parent is Filter - everyone except filter passes their own column names to child ops (which may or may not be necessary). > 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 > > > 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)