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

Error Occurs while selecting a specific set of columns : ERROR 201 (22000): Illegal data. Expected length of at least 8 bytes, but had 2

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Duplicate
    • 4.11.0, 4.13.0
    • None
    • None
    • None
    • Important

    Description

      While selecting columns from a table, an error occurs for Illegal Data.

      ERROR 201 (22000): Illegal data. Expected length of at least 8 bytes, but had 2

      The data is read/write only through the Phoenix Client.

      Moreover, this error only occurs while running queries via Java Program only and not through the Squirrel SQL client. Is there any other way to access results from the ResultSet that is returned from Phoenix Client. 

       

      Environment Details

      HBase Version : 1.2.6 on Hadoop 2.8.2

      Phoenix Version : 4.11.0-HBase-1.2

      OS: LINUX(RHEL)

       

      The following error is caused when selecting columns via a Java Program

      ERROR 201 (22000): Illegal data. Expected length of at least 8 bytes, but had 2; nested exception is java.sql.SQLException: ERROR 201 (22000): Illegal data. Expected length of at least 8 bytes, but had 2
      at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:102)
      at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
      at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
      at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
      at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:419)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:474)
      at com.zycus.qe.service.impl.PhoenixHBaseDAOImpl.fetchAggregationResult(PhoenixHBaseDAOImpl.java:752)
      ... 14 common frames omitted
      Caused by: java.sql.SQLException: ERROR 201 (22000): Illegal data. Expected length of at least 8 bytes, but had 2
      at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:483)
      at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150)
      at org.apache.phoenix.schema.KeyValueSchema.next(KeyValueSchema.java:213)
      at org.apache.phoenix.schema.KeyValueSchema.iterator(KeyValueSchema.java:165)
      at org.apache.phoenix.schema.KeyValueSchema.iterator(KeyValueSchema.java:171)
      at org.apache.phoenix.schema.KeyValueSchema.iterator(KeyValueSchema.java:175)
      at org.apache.phoenix.expression.ProjectedColumnExpression.evaluate(ProjectedColumnExpression.java:115)
      at org.apache.phoenix.iterate.OrderedResultIterator.getResultIterator(OrderedResultIterator.java:260)
      at org.apache.phoenix.iterate.OrderedResultIterator.next(OrderedResultIterator.java:199)
      at org.apache.phoenix.iterate.BaseGroupedAggregatingResultIterator.next(BaseGroupedAggregatingResultIterator.java:64)
      at org.apache.phoenix.iterate.LookAheadResultIterator$1.advance(LookAheadResultIterator.java:47)
      at org.apache.phoenix.iterate.LookAheadResultIterator.init(LookAheadResultIterator.java:59)
      at org.apache.phoenix.iterate.LookAheadResultIterator.next(LookAheadResultIterator.java:65)
      at org.apache.phoenix.iterate.BaseGroupedAggregatingResultIterator.next(BaseGroupedAggregatingResultIterator.java:64)
      at org.apache.phoenix.iterate.OrderedResultIterator.getResultIterator(OrderedResultIterator.java:255)
      at org.apache.phoenix.iterate.OrderedResultIterator.next(OrderedResultIterator.java:199)
      at org.apache.phoenix.iterate.OrderedAggregatingResultIterator.next(OrderedAggregatingResultIterator.java:51)
      at org.apache.phoenix.iterate.DelegateResultIterator.next(DelegateResultIterator.java:44)
      at org.apache.phoenix.execute.TupleProjectionPlan$1.next(TupleProjectionPlan.java:62)
      at org.apache.phoenix.iterate.LookAheadResultIterator$1.advance(LookAheadResultIterator.java:47)
      at org.apache.phoenix.iterate.LookAheadResultIterator.init(LookAheadResultIterator.java:59)
      at org.apache.phoenix.iterate.LookAheadResultIterator.next(LookAheadResultIterator.java:65)
      at org.apache.phoenix.iterate.BaseGroupedAggregatingResultIterator.next(BaseGroupedAggregatingResultIterator.java:64)
      at org.apache.phoenix.iterate.LookAheadResultIterator$1.advance(LookAheadResultIterator.java:47)
      at org.apache.phoenix.iterate.LookAheadResultIterator.init(LookAheadResultIterator.java:59)
      at org.apache.phoenix.iterate.LookAheadResultIterator.next(LookAheadResultIterator.java:65)
      at org.apache.phoenix.iterate.BaseGroupedAggregatingResultIterator.next(BaseGroupedAggregatingResultIterator.java:64)
      at org.apache.phoenix.iterate.UngroupedAggregatingResultIterator.next(UngroupedAggregatingResultIterator.java:39)
      at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:778)
      at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
      at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
      ... 16 common frames omitted
      

       

      Find the attached files for queries for reproducing the bug and the java file used for querying the result.

      Attachments

        1. DML_DDL.sql
          24 kB
          Aman Jha
        2. SelectStatement.sql
          10 kB
          Aman Jha
        3. TestPhoenix.java
          20 kB
          Aman Jha

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aman.jha@zycus.com Aman Jha
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: