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

Samarth Jain updated PHOENIX-3023:
----------------------------------
    Attachment: PHOENIX-3023.patch

Attached patch that should fix the perf regression we are seeing. 
[~mujtabachohan], do you mind giving it spin? I expect that the performance for 
serial queries with a row key order by and limit may be better now than was  
with 4.7. 

I also fixed a bug for a query with limit and offset. In this case we weren't 
making the isSerial calculation by adding limit + offset. 

[~jamestaylor], [[email protected]] - do you guys mind reviewing the change. 

All unit tests and integration tests are passing. Thanks!

> Slow performance when limit queries are executed in parallel by default
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-3023
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3023
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Mujtaba Chohan
>            Assignee: Samarth Jain
>         Attachments: PHOENIX-3023.patch
>
>
> After 
> [this|https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=commit;h=54362430d71be788d515944573572624628a09b6]
>  commit, limit queries are executed in parallel which causes performance to 
> be ~5-10x slower. Providing a serial hint fixes it though.
> After commit:
> {code}
> select * from WIDE_PK order by mypk DESC limit 1; // this takes ~400ms
> CLIENT 1280-CHUNK 1996304 ROWS 6380181208 BYTES PARALLEL 4-WAY REVERSE FULL 
> SCAN OVER WIDE_PK SERVER 1 ROW LIMIT CLIENT MERGE SORT CLIENT 1 ROW LIMIT
> {code}
> Before commit:
> {code}
> select * from WIDE_PK order by mypk DESC limit 1; // this takes ~40ms
> CLIENT 1280-CHUNK 1996304 ROWS 6380181208 BYTES SERIAL 4-WAY REVERSE FULL 
> SCAN OVER WIDE_PK SERVER 1 ROW LIMIT CLIENT MERGE SORT CLIENT 1 ROW LIMIT
> {code}
> Test was done on a single node machine running HBase 0.98.17.  DDL used was 
> {code}CREATE TABLE WIDE_PK (MYPK CHAR(500) NOT NULL PRIMARY KEY,CF.column1 
> INTEGER,CF.column2 INTEGER,CF.column3 INTEGER,CF.column4 INTEGER,CF.column5 
> INTEGER) SALT_BUCKETS=4 with phoenix.stats.guidepost.width of 5000000
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to