Brian Gilreath created PHOENIX-1487:
---------------------------------------
Summary: Array Constructor Index out of Bounds Exception
Key: PHOENIX-1487
URL: https://issues.apache.org/jira/browse/PHOENIX-1487
Project: Phoenix
Issue Type: Bug
Affects Versions: 3.1
Environment: hbase 0.94.6-cdh4.4.0
Reporter: Brian Gilreath
When selecting on multiple array values such as:
{{select a[1], a[2], a[3] from my_table;}}
I get an index out of bounds exception.
Reproducible case:
{{0: jdbc:phoenix:> create table my_table ( abc BIGINT primary key, my_array
BIGINT array[3] );}}
{{0: jdbc:phoenix:> UPSERT INTO my_table ( abc, my_array ) VALUES ( 1,
ARRAY[1,2,3] );}}
{{1 row affected (0.034 seconds)}}
{{0: jdbc:phoenix:> select abc, my_array[1], my_array[2], my_array[3] from
my_table;}}
+------------+-----------------------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------+
| ABC |
org.apache.phoenix.compile.ProjectionCompiler$ArrayIndexExpression@51927ba1 |
org.apache.phoenix.compile.ProjectionCompiler$ArrayIndexExpression@67f2b0dd |
org.apache.phoenix.compile.ProjectionCompiler$ArrayIndexExpressio |
+------------+-----------------------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------+
java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException:
org.apache.phoenix.exception.PhoenixIOException:
org.apache.hadoop.hbase.DoNotRetryIOException:
MY_TABLE,,1417046307845.733ba2435d5986e1e95bf694f0542f88.: Index: 0, Size: 0
at
org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:73)
at
org.apache.phoenix.coprocessor.ScanRegionObserver$2.nextRaw(ScanRegionObserver.java:350)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2513)
at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1428)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.remove(ArrayList.java:445)
at
org.apache.phoenix.coprocessor.ScanRegionObserver$2.replaceArrayIndexElement(ScanRegionObserver.java:390)
at
org.apache.phoenix.coprocessor.ScanRegionObserver$2.nextRaw(ScanRegionObserver.java:347)
... 6 more
at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2440)
at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2074)
at sqlline.SqlLine.print(SqlLine.java:1735)
at sqlline.SqlLine$Commands.execute(SqlLine.java:3683)
at sqlline.SqlLine$Commands.sql(SqlLine.java:3584)
at sqlline.SqlLine.dispatch(SqlLine.java:821)
at sqlline.SqlLine.begin(SqlLine.java:699)
at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441)
at sqlline.SqlLine.main(SqlLine.java:424)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)