phoenix-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-5104) PHOENIX-3547 breaks client backwards compatability
Date Sat, 19 Jan 2019 01:20:00 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-5104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16746878#comment-16746878
] 

Lars Hofhansl commented on PHOENIX-5104:
----------------------------------------

And do we really need to from two bytes to 8 bytes. This is going to be in every single entry
stored in a (local at least) index.

I can see how we can have more than 2^15 indexes with many views. I doubt we need to go beyond
2^31. So 4 bytes bytes should be plenty.


> PHOENIX-3547 breaks client backwards compatability
> --------------------------------------------------
>
>                 Key: PHOENIX-5104
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5104
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.15.0
>            Reporter: Lars Hofhansl
>            Priority: Blocker
>             Fix For: 4.15.0
>
>
> 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)

Mime
View raw message