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

Hudson commented on HBASE-30161:
--------------------------------

Results for branch branch-2
        [build #66 on 
builds.a.o|https://ci-hbase.apache.org/job/HBase-Integration-Test/job/branch-2/66/]:
 (x) *{color:red}-1 overall{color}*
----
details (if available):



(/) {color:green}+1 client integration test for 2.10.2 {color}


(/) {color:green}+1 client integration test for 3.3.5 {color}
(/) {color:green}+1 client integration test for 3.3.5 with shaded hadoop 
client{color}


(/) {color:green}+1 client integration test for 3.3.6 {color}
(/) {color:green}+1 client integration test for 3.3.6 with shaded hadoop 
client{color}


(/) {color:green}+1 client integration test for 3.4.0 {color}
(/) {color:green}+1 client integration test for 3.4.0 with shaded hadoop 
client{color}


(/) {color:green}+1 client integration test for 3.4.1 {color}
(/) {color:green}+1 client integration test for 3.4.1 with shaded hadoop 
client{color}


(x) {color:red}-1 client integration test for 3.4.2{color}
-- Something went wrong with this stage, [check relevant console 
output|https://ci-hbase.apache.org/job/HBase-Integration-Test/job/branch-2/66//console].


(/) {color:green}+1 client integration test for 3.4.3 {color}
(/) {color:green}+1 client integration test for 3.4.3 with shaded hadoop 
client{color}


> Add paginated, single-RPC RegionLocator.getRegionLocations(startKey, limit) 
> API for bulk meta-cache warmup
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-30161
>                 URL: https://issues.apache.org/jira/browse/HBASE-30161
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Sanjeet Malhotra
>            Assignee: Sanjeet Malhotra
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-1, 2.7.0, 3.0.0-beta-2, 2.6.6
>
>
> `RegionLocator.getAllRegionLocations()` is currently the only bulk API        
>                
>   to fetch all region locations of a table. Internally it opens a
>   `ResultScanner` against `hbase:meta` via                                    
>                  
>   `MetaTableAccessor.scanMetaForTableRegions(...)` and drives                 
>                  
>   `scanner.next()` in a loop — so the number of RPCs is                       
>                  
>   `ceil(numRegions / hbase.meta.scanner.caching)`.                            
>                  
>                                                                               
>                  
>   This is a problem for clients (e.g. Phoenix) that want to perform a         
>                  
>   *bulk warmup* of their region-location cache after a fresh JVM start        
>                  
>   while serializing meta access. The natural pattern is to wrap the call      
>                  
>   in a lock — mirroring what `ConnectionImplementation.locateRegionInMeta`    
>                  
>   already does for single-region lookups via `userRegionLock`. But            
>                  
>   because `getAllRegionLocations()` does N RPCs under one logical call:       
>                  
>                                                                               
>                  
>   * The lock-timeout budget has to grow with table size — there is no         
>                  
>     sensible fixed value that works for both 10-region and 10000-region       
>                  
>     tables.                                                                   
>                  
>   * A single slow RPC inside the loop blocks all other meta lookups for
>     the duration.                                                             
>                  
>   * Per-call duration is no longer constant w.r.t. data volume.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to