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

Hudson commented on HIVE-5272:
------------------------------

ABORTED: Integrated in Hive-trunk-hadoop2 #461 (See 
[https://builds.apache.org/job/Hive-trunk-hadoop2/461/])
HIVE-5272 : Column statistics on a invalid column name results in 
IndexOutOfBoundsException (Prasanth J via Ashutosh Chauhan) (hashutosh: 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1527078)
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
* /hive/trunk/ql/src/test/results/clientnegative/columnstats_tbllvl.q.out
* 
/hive/trunk/ql/src/test/results/clientnegative/columnstats_tbllvl_incorrect_column.q.out

                
> Column statistics on a invalid column name results in 
> IndexOutOfBoundsException
> -------------------------------------------------------------------------------
>
>                 Key: HIVE-5272
>                 URL: https://issues.apache.org/jira/browse/HIVE-5272
>             Project: Hive
>          Issue Type: Bug
>          Components: Statistics
>    Affects Versions: 0.13.0
>            Reporter: Prasanth J
>            Assignee: Prasanth J
>              Labels: statistics
>             Fix For: 0.13.0
>
>         Attachments: HIVE-5272.1.patch.txt, HIVE-5272.2.patch.txt, 
> HIVE-5272.3.patch.txt, junit-noframes.html
>
>
> When invalid column name is specified for column statistics 
> IndexOutOfBoundsException is thrown. 
> {code}hive> analyze table customer_staging compute statistics for columns 
> c_first_name, invalid_name, c_customer_sk;
> FAILED: IndexOutOfBoundsException Index: 2, Size: 1{code}
> If the invalid column name appears at first or last then 
> INVALID_COLUMN_REFERENCE is thrown at query planning stage. But if the 
> invalid column name appears somewhere in the middle of column lists then 
> IndexOutOfBoundsException is thrown at semantic analysis step. The problem is 
> with getTableColumnType() and getPartitionColumnType() methods. The following 
> segment 
> {code}    for (int i=0; i <numCols; i++) {
>       colName = colNames.get(i);
>       for (FieldSchema col: cols) {
>         if (colName.equalsIgnoreCase(col.getName())) {
>           colTypes.add(i, new String(col.getType()));
>         }
>       }
>     }{code}
> is the reason for it. If the invalid column names appears in the middle of 
> column list then the equalsIgnoreCase() skips the invalid name and increments 
> the i. Since the list is not initialized it results in exception. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to