You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2019/01/19 01:09:00 UTC

[jira] [Created] (PHOENIX-5104) PHOENIX-3547 break client backwards compatability

Lars Hofhansl created PHOENIX-5104:
--------------------------------------

             Summary: PHOENIX-3547 break client backwards compatability
                 Key: PHOENIX-5104
                 URL: https://issues.apache.org/jira/browse/PHOENIX-5104
             Project: Phoenix
          Issue Type: Bug
            Reporter: Lars Hofhansl


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:
{code}
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)
...
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)