phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jaanai (JIRA)" <j...@apache.org>
Subject [jira] [Created] (PHOENIX-4974) Gets all regions uses get requests serially is extremely slows for table has lots of regions
Date Tue, 16 Oct 2018 12:37:00 GMT
Jaanai created PHOENIX-4974:
-------------------------------

             Summary: Gets all regions uses get requests serially is extremely slows for table
has lots of regions
                 Key: PHOENIX-4974
                 URL: https://issues.apache.org/jira/browse/PHOENIX-4974
             Project: Phoenix
          Issue Type: Improvement
    Affects Versions: 5.0.0, 4.14.0
            Reporter: Jaanai


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)

Mime
View raw message