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

java.lang.ArrayIndexOutOfBoundsException with min/max query on CHAR column with '0' prefixed values

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 4.1.0
    • Fix Version/s: None
    • Labels:
    • Environment:

      HBase 0.98.4
      RHEL 6.5

      Description

      While playing with the queries to reproduce PHOENIX-1362, I got the below exception (take the same schema and data as in PHOENIX-1362):

      0: jdbc:phoenix:isthbase01-mnds2-1-crd> select min(VAL2), min(VAL3) from TT;
      +------------+------------+
      | MIN(VAL2)  | MIN(VAL3)  |
      +------------+------------+
      java.lang.ArrayIndexOutOfBoundsException
              at java.lang.System.arraycopy(Native Method)
              at org.apache.phoenix.schema.KeyValueSchema.writeVarLengthField(KeyValueSchema.java:150)
              at org.apache.phoenix.schema.KeyValueSchema.toBytes(KeyValueSchema.java:116)
              at org.apache.phoenix.schema.KeyValueSchema.toBytes(KeyValueSchema.java:91)
              at org.apache.phoenix.expression.aggregator.Aggregators.toBytes(Aggregators.java:109)
              at org.apache.phoenix.iterate.GroupedAggregatingResultIterator.next(GroupedAggregatingResultIterator.java:83)
              at org.apache.phoenix.iterate.UngroupedAggregatingResultIterator.next(UngroupedAggregatingResultIterator.java:39)
              at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:732)
              at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2429)
              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)
      0: jdbc:phoenix:isthbase01-mnds2-1-crd> select min(VAL1), min(VAL2) from TT;
      +------------+------------+
      | MIN(VAL1)  | MIN(VAL2)  |
      +------------+------------+
      | 0          | null       |
      +------------+------------+
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              haridsv Hari Krishna Dara
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: