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

2019-01-18 Thread Lars Hofhansl (JIRA)


 [ 
https://issues.apache.org/jira/browse/PHOENIX-5104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lars Hofhansl updated PHOENIX-5104:
---
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.01;}}

Result:
{code}
0: jdbc:phoenix:localhost> explain select count(*) from ns1.test t1 where t1.v1 
< 0.01;
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}

  was:
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.01;}}

Result:
{code}
0: jdbc:phoenix:localhost> explain select count(*) from ns1.test t1 where t1.v1 
< 0.01;
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 

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

2019-01-18 Thread Lars Hofhansl (JIRA)


 [ 
https://issues.apache.org/jira/browse/PHOENIX-5104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lars Hofhansl updated PHOENIX-5104:
---
Affects Version/s: 4.15.0

> PHOENIX-3547 break 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
>
> 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.01;}}
> Result:
> {code}
> 0: jdbc:phoenix:localhost> explain select count(*) from ns1.test t1 where 
> t1.v1 < 0.01;
> 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)


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

2019-01-18 Thread Lars Hofhansl (JIRA)


 [ 
https://issues.apache.org/jira/browse/PHOENIX-5104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lars Hofhansl updated PHOENIX-5104:
---
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.01;}}

Result:
{code}
0: jdbc:phoenix:localhost> explain select count(*) from ns1.test t1 where t1.v1 
< 0.01;
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}

  was:
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.01;

Result:
{code}
0: jdbc:phoenix:localhost> explain select count(*) from ns1.test t1 where t1.v1 
< 0.01;
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