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

Jaanai commented on PHOENIX-4974:
---------------------------------

Maybe we can incremental refresh region locations that is changed on the server 
side if the client can know what the region location transferred is, which 
means is only getting one or a few locations information once, but it seems 
that we can not get the relation of parent regions to their daughter from the 
META table, right? [~lhofhansl][~apurtell]

On the other hand,  to implement incremental queries is also important for 
getting more stable latency of queries.

> Gets all regions uses get requests is extremely slows for big table 
> --------------------------------------------------------------------
>
>                 Key: PHOENIX-4974
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4974
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 4.14.0, 5.0.0
>            Reporter: Jaanai
>            Assignee: Jaanai
>            Priority: Blocker
>         Attachments: PHOENIX-4974-master.patch, performance.png
>
>
> When executes the first query after started the client(SQLline or 
> initializing JDBC client ),  needs to load region locations to the client 
> cache.   Now the following is key implement :
> {code:java}
> List<HRegionLocation> locations = Lists.newArrayList();
>                 byte[] currentKey = HConstants.EMPTY_START_ROW;
>                 do {
>                     HRegionLocation regionLocation = 
> connection.getRegionLocation(
>                             TableName.valueOf(tableName), currentKey, reload);
>                     locations.add(regionLocation);
>                     currentKey = regionLocation.getRegionInfo().getEndKey();
>                 } while (!Bytes.equals(currentKey, HConstants.EMPTY_END_ROW));
> {code}
> For some big tables which have more than ten thousand regions,  this 
> procedure is extremely slow. 
> Runs a look points query on the table that has 10000 regions after starting 
> the client, it needs 25+ seconds.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to