[ https://issues.apache.org/jira/browse/HIVE-5272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13780677#comment-13780677 ]
Hudson commented on HIVE-5272: ------------------------------ FAILURE: Integrated in Hive-trunk-hadoop1-ptest #184 (See [https://builds.apache.org/job/Hive-trunk-hadoop1-ptest/184/]) 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