Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-1487

Array Constructor Index out of Bounds Exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 3.1.0
    • None
    • None
    • hbase 0.94.6-cdh4.4.0

    Description

      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)

      Attachments

        Activity

          People

            Unassigned Unassigned
            bgilreath Brian Gilreath
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: