[ 
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)

Reply via email to