Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
I tried joining two tables, let's call them "table" and "table_a", but I'm seeing an array of errors such as this:
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat.getRecordReader(HiveHBaseTableInputFormat.java:118) at org.apache.hadoop.hive.ql.io.HiveInputFormat.getRecordReader(HiveInputFormat.java:231)
The reason is that HiveInputFormat.pushProjectionsAndFilters matches the aliases with startsWith so in my case the mappers for "table_a" were getting the columns from "table" as well as its own (and since it had less column, it was trying to get one too far in the array).
I don't know if just changing it to "equals" fill fix it, my guess is it won't, since it may break RCFiles.
Attachments
Attachments
Issue Links
- is related to
-
HIVE-11097 HiveInputFormat uses String.startsWith to compare splitPath and PathToAliases
- Closed