You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/11/24 19:17:00 UTC

[jira] [Commented] (PHOENIX-5833) Incorrect results with RVCs and AND operator

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

ASF GitHub Bot commented on PHOENIX-5833:
-----------------------------------------

dbwong commented on pull request #767:
URL: https://github.com/apache/phoenix/pull/767#issuecomment-733180207


   Trying this again, this is critical imo for at least 4.16 since we missed 4.15.... We had discussed this offline and had verbal agreement on the approach months ago. @ChinmaySKulkarni or @yanxinyi can you review?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Incorrect results with RVCs and AND operator
> --------------------------------------------
>
>                 Key: PHOENIX-5833
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5833
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.15.0
>            Reporter: Bharath Vissapragada
>            Assignee: Daniel Wong
>            Priority: Critical
>         Attachments: PHOENIX-5833.4.x.patch
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Phoenix version: 4.15-HBase-1.5
> -- Create a test table and populate a couple of rows.
> {noformat}
> create table repro_bug(a varchar(10) not null, b varchar(10) not null, c varchar(10) not null constraint pk primary key(a, b, c));
> upsert into repro_bug values('abc', 'def', 'RRSQ_IMKKL');
> upsert into repro_bug values('abc', 'def', 'RRS_ZYTDT');
> select * from repro_bug;
> +------+------+-------------+
> |  A   |  B   |      C      |
> +------+------+-------------+
> | abc  | def  | RRSQ_IMKKL  |
> | abc  | def  | RRS_ZYTDT   |
> +------+------+-------------+
> {noformat}
> -- Query 1 - Look for rows where C has a certain prefix - Returns correct result
> {noformat}
> select A, B, C from REPRO_BUG where C like 'RRS\\_%';
> +------+------+------------+
> |  A   |  B   |     C      |
> +------+------+------------+
> | abc  | def  | RRS_ZYTDT  |
> +------+------+------------+
> {noformat}
> -- Query 2 - Look for rows where (a, b, c) > first row - Returns correct result
> {noformat}
> select A, B, C from REPRO_BUG where (A, B, C) > ('abc', 'def', 'RRSQ_IMKKL')
> +------+------+------------+
> |  A   |  B   |     C      |
> +------+------+------------+
> | abc  | def  | RRS_ZYTDT  |
> +------+------+------------+
> {noformat}
> -- Query 3 - Combine the filters from Query 1 and Query2 - Returns incorrect result.. Ideally it should return the same row as above.
> {noformat}
>  select A, B, C from REPRO_BUG where (A, B, C) > ('abc', 'def', 'RRSQ_IMKKL') AND C like 'RRS\\_%';
> +----+----+----+
> | A  | B  | C  |
> +----+----+----+
> +----+----+----+
> {noformat}
> -- Explain for the above incase someone is interested.
> {noformat}
> explain select A, B, C from REPRO_BUG where (A, B, C) > ('abc', 'def', 'RRSQ_IMKKL') AND C like 'RRS\\_%';
> +----------------------------------------------------------------------------------------+-----------------+----------------+--------------+
> |                                          PLAN                                          | EST_BYTES_READ  | EST_ROWS_READ  | EST_INFO_TS  |
> +----------------------------------------------------------------------------------------+-----------------+----------------+--------------+
> | CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN RANGE SCAN OVER REPRO_BUG ['abcdef'] - [*]  | null            | null           | null         |
> |     SERVER FILTER BY FIRST KEY ONLY AND C LIKE 'RRS\_%'                                | null            | null           | null         |
> +----------------------------------------------------------------------------------------+-----------------+----------------+--------------+
> 2 rows selected (0.003 seconds)
> {noformat}
> I'm trying to poke around in the code to figure out the issue but my understanding of  Phoenix is limited at this point. So creating a bug report incase someone can figure this out quickly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)