[
https://issues.apache.org/jira/browse/PHOENIX-2961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15338048#comment-15338048
]
Dhiraj Hegde commented on PHOENIX-2961:
---------------------------------------
[~jamestaylor] The unit test does look complete. I borrowed it and ran it in
my setup. It failed for me in the inner join select that happens right after
the 2nd row is inserted (which is consistent with what I was experiencing in my
code).
This is what I did to use the patch - I took the change (basically the 1 line
from SanRanges.java) and applied it to the 4.7.0 branch. I did this because the
hbase cluster I am using is 4.7.0. The patched jar was only applied on client
side. At this point, the issue seemed to be partly fixed - atleast test1.sql
passed both in my tests and the unit test you have created. However, the second
test failed (the inner join select). Does 4.7.0 need any additional changes to
make the fix work? Thanks.
> select on a composite primary key fails when DESC is set in the table
> ---------------------------------------------------------------------
>
> Key: PHOENIX-2961
> URL: https://issues.apache.org/jira/browse/PHOENIX-2961
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.7.0
> Environment: linux ubuntu 14.0.4.4
> phoenix-4.7.0-HBase-0.98-client
> HBase Version 0.98.19
> Reporter: Dhiraj Hegde
> Assignee: James Taylor
> Labels: SFDC
> Fix For: 4.8.0
>
> Attachments: PHOENIX-2961.patch, test1.sql, test2.sql
>
>
> I created a table with a primary key composed of 4 fields. The table
> specifies DESC for one of those fields (please see the test script provided).
> When the table is queried using any combination of 3 of the primary key
> fields, it selects rows correctly. However, when all 4 fields are specified,
> no rows are selected. Here is the sql script that reproduces this issue:
> ----------------------------------------------------------------
> CREATE TABLE IF NOT EXISTS tests1 (
> ACCOUNT_ID VARCHAR NOT NULL,
> BUCKET_ID VARCHAR NOT NULL,
> OBJECT_ID VARCHAR NOT NULL,
> OBJECT_VERSION VARCHAR NOT NULL,
> LOC VARCHAR,
> CONSTRAINT PK PRIMARY KEY (ACCOUNT_ID, BUCKET_ID, OBJECT_ID, OBJECT_VERSION
> DESC));
> UPSERT INTO tests1 (ACCOUNT_ID, BUCKET_ID, OBJECT_ID, OBJECT_VERSION, LOC)
> VALUES ('acct1', 'bucket1', 'obj1', '1111', 'loc1');
> select ACCOUNT_ID, BUCKET_ID, OBJECT_VERSION from tests1 WHERE ACCOUNT_ID =
> 'acct1' and BUCKET_ID = 'bucket1' and OBJECT_VERSION = '1111';
> select ACCOUNT_ID, BUCKET_ID, OBJECT_VERSION from tests1 WHERE ACCOUNT_ID =
> 'acct1' and BUCKET_ID = 'bucket1' and OBJECT_ID = 'obj1';
> select ACCOUNT_ID, BUCKET_ID, OBJECT_VERSION from tests1 WHERE ACCOUNT_ID =
> 'acct1' and BUCKET_ID = 'bucket1' and OBJECT_VERSION = '1111' and OBJECT_ID
> = 'obj1';
> ----------------------------------------------
> The first two select statements selects the row that was inserted, whereas
> the third one fails to select any rows.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)