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

PHOENIX-3547 breaks client backwards compatability

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 4.15.0
    • Fix Version/s: 4.15.0, 5.1.0
    • Component/s: None
    • Labels:

      Description

      Scenario:

      • New 4.15 client
        • create table ns1.test (pk1 integer not null, pk2 integer not null, pk3 integer not null, v1 float, v2 float, v3 integer CONSTRAINT pk PRIMARY KEY (pk1, pk2, pk3));
        • create local index l1 on ns1.test(v1);
      • Old 4.14.x client
        • explain select count(*) from test t1 where t1.v1 < 0.000001;

      Result:

      0: jdbc:phoenix:localhost> explain select count(*) from ns1.test t1 where t1.v1 < 0.000001;
      Error: ERROR 201 (22000): Illegal data. Expected length of at least 8 bytes, but had 2 (state=22000,code=201)
      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:494)
              at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150)
              at org.apache.phoenix.schema.types.PDataType.checkForSufficientLength(PDataType.java:290)
              at org.apache.phoenix.schema.types.PLong$LongCodec.decodeLong(PLong.java:256)
              at org.apache.phoenix.schema.types.PLong.toObject(PLong.java:115)
              at org.apache.phoenix.schema.types.PLong.toObject(PLong.java:31)
              at org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:994)
              at org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:1035)
              at org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:1031)
              at org.apache.phoenix.iterate.ExplainTable.appendPKColumnValue(ExplainTable.java:207)
              at org.apache.phoenix.iterate.ExplainTable.appendScanRow(ExplainTable.java:282)
              at org.apache.phoenix.iterate.ExplainTable.appendKeyRanges(ExplainTable.java:297)
              at org.apache.phoenix.iterate.ExplainTable.explain(ExplainTable.java:127)
              at org.apache.phoenix.iterate.BaseResultIterators.explain(BaseResultIterators.java:1544)
              at org.apache.phoenix.iterate.ConcatResultIterator.explain(ConcatResultIterator.java:92)
              at org.apache.phoenix.iterate.BaseGroupedAggregatingResultIterator.explain(BaseGroupedAggregatingResultIterator.java:103)
              at org.apache.phoenix.execute.BaseQueryPlan.getPlanSteps(BaseQueryPlan.java:524)
              at org.apache.phoenix.execute.BaseQueryPlan.iterator(BaseQueryPlan.java:372)
              at org.apache.phoenix.execute.BaseQueryPlan.iterator(BaseQueryPlan.java:217)
              at org.apache.phoenix.execute.BaseQueryPlan.iterator(BaseQueryPlan.java:212)
              at org.apache.phoenix.execute.BaseQueryPlan.iterator(BaseQueryPlan.java:207)
              at org.apache.phoenix.execute.BaseQueryPlan.getExplainPlan(BaseQueryPlan.java:516)
              at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableExplainStatement.compilePlan(PhoenixStatement.java:603)
              at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableExplainStatement.compilePlan(PhoenixStatement.java:575)
              at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:302)
              at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:291)
              at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
              at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:290)
      ...
      

        Attachments

        1. PHOENIX-5104.patch
          6 kB
          Mehdi Salarkia
        2. PHOENIX-5104.4.x-HBase-1.3.v1.patch
          6 kB
          Mehdi Salarkia

          Issue Links

            Activity

              People

              • Assignee:
                m2je Mehdi Salarkia
                Reporter:
                larsh Lars Hofhansl
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h
                  2h