You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Thomas D'Silva (JIRA)" <ji...@apache.org> on 2019/05/27 03:44:00 UTC
[jira] [Reopened] (PHOENIX-5122) PHOENIX-4322 breaks client
backward compatibility
[ https://issues.apache.org/jira/browse/PHOENIX-5122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas D'Silva reopened PHOENIX-5122:
-------------------------------------
[~jisaac] I think the way the bitset is stored is not b/w compatible with a 4.13 client.
To Repro:
Server on 4.14
With global connection:
{code}
CREATE TABLE IF NOT EXISTS CED (
OID CHAR(15) NOT NULL,
KP CHAR(3) NOT NULL,
CONSTRAINT PK PRIMARY KEY (
OID,
KP
)
)
{code}
With tenant specific connection and client on 4.13:
{code}
CREATE VIEW IF NOT EXISTS "z00" (COL1 VARCHAR NOT NULL, COL2 DECIMAL NOT NULL, COL3 VARCHAR CONSTRAINT PK PRIMARY KEY (COL1, COL2)) AS SELECT * FROM CED WHERE KEY_PREFIX = 'z00';
UPSERT INTO "z00" (COL1, COL2, COL3) VALUES ('TEST', 25, 'Test Value');
-- following returns no rows
SELECT * FROM "z00" WHERE (COL2, COL1) IN ((25, 'TEST'),(30,'TEST'));
{code}
> PHOENIX-4322 breaks client backward compatibility
> -------------------------------------------------
>
> Key: PHOENIX-5122
> URL: https://issues.apache.org/jira/browse/PHOENIX-5122
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.13.0
> Reporter: Jacob Isaac
> Assignee: Jacob Isaac
> Priority: Blocker
> Fix For: 4.13.0, 4.13.1, 4.15.0, 4.14.1, 5.1.0, 4.14.2, 5.0.1
>
> Attachments: PHOENIX-5122-4.x-HBase-1.3.patch, PHOENIX-5122.patch, Screen Shot 2019-03-04 at 6.17.42 PM.png, Screen Shot 2019-03-04 at 6.21.10 PM.png
>
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> Scenario :
> *4.13 client -> 4.14.1 server*
> {noformat}
> Connected to: Phoenix (version 4.13)
> Driver: PhoenixEmbeddedDriver (version 4.13)
> Autocommit status: true
> Transaction isolation: TRANSACTION_READ_COMMITTED
> Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
> 135/135 (100%) Done
> Done
> sqlline version 1.1.9
> 0: jdbc:phoenix:localhost>
> 0: jdbc:phoenix:localhost>
> 0: jdbc:phoenix:localhost> CREATE table P_T000002 (oid VARCHAR NOT NULL, code VARCHAR NOT NULL constraint pk primary key (oid DESC, code DESC));
> No rows affected (1.31 seconds)
> 0: jdbc:phoenix:localhost>
> 0: jdbc:phoenix:localhost> upsert into P_T000002 (oid, code) values ('0001', 'v0001');
> 1 row affected (0.033 seconds)
> 0: jdbc:phoenix:localhost> upsert into P_T000002 (oid, code) values ('0002', 'v0002');
> 1 row affected (0.004 seconds)
> 0: jdbc:phoenix:localhost>
> 0: jdbc:phoenix:localhost> select * from P_T000002 where (oid, code) IN (('0001', 'v0001'), ('0002', 'v0002'));
> +------------------------------------------+------------------------------------------+
> | OID | CODE |
> +------------------------------------------+------------------------------------------+
> +------------------------------------------+------------------------------------------+
> {color:#FF0000}+*No rows selected (0.033 seconds)*+{color}
> 0: jdbc:phoenix:localhost> select * from P_T000002 ;
> +------------------------------------------+------------------------------------------+
> | OID | CODE |
> +------------------------------------------+------------------------------------------+
> | 0002 | v0002 |
> | 0001 | v0001 |
> +------------------------------------------+------------------------------------------+
> 2 rows selected (0.016 seconds)
> 0: jdbc:phoenix:localhost>
> {noformat}
> *4.14.1 client -> 4.14.1 server*
> {noformat}
> Connected to: Phoenix (version 4.14)
> Driver: PhoenixEmbeddedDriver (version 4.14)
> Autocommit status: true
> Transaction isolation: TRANSACTION_READ_COMMITTED
> Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
> 133/133 (100%) Done
> Done
> sqlline version 1.1.9
> 0: jdbc:phoenix:localhost>
> 0: jdbc:phoenix:localhost> CREATE table P_T000001 (oid VARCHAR NOT NULL, code VARCHAR NOT NULL constraint pk primary key (oid DESC, code DESC));
> No rows affected (1.273 seconds)
> 0: jdbc:phoenix:localhost>
> 0: jdbc:phoenix:localhost> upsert into P_T000001 (oid, code) values ('0001', 'v0001');
> 1 row affected (0.056 seconds)
> 0: jdbc:phoenix:localhost> upsert into P_T000001 (oid, code) values ('0002', 'v0002');
> 1 row affected (0.004 seconds)
> 0: jdbc:phoenix:localhost>
> 0: jdbc:phoenix:localhost> select * from P_T000001 where (oid, code) IN (('0001', 'v0001'), ('0002', 'v0002'));
> +------------------------------------------+------------------------------------------+
> | OID | CODE |
> +------------------------------------------+------------------------------------------+
> | 0002 | v0002 |
> | 0001 | v0001 |
> +------------------------------------------+------------------------------------------+
> 2 rows selected (0.051 seconds)
> 0: jdbc:phoenix:localhost> select * from P_T000001 ;
> +------------------------------------------+------------------------------------------+
> | OID | CODE |
> +------------------------------------------+------------------------------------------+
> | 0002 | v0002 |
> | 0001 | v0001 |
> +------------------------------------------+------------------------------------------+
> 2 rows selected (0.017 seconds)
> 0: jdbc:phoenix:localhost>
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)