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

Mikhail Antonov commented on HBASE-15648:
-----------------------------------------

If things are in meta cache, that will be handled at the top of 
#locateRegionInMeta()

Goes like this:

  - first try to get cached location; if found, return
  - grab lock for the regionName
  - try cached location again in case someone who held the lock retrieved it 
for us
  - if still no luck, do a meta scan

> Reduce number of concurrent region location lookups when MetaCache entry is 
> cleared
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-15648
>                 URL: https://issues.apache.org/jira/browse/HBASE-15648
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>    Affects Versions: 1.3.0
>            Reporter: Mikhail Antonov
>            Assignee: Mikhail Antonov
>             Fix For: 1.3.0
>
>         Attachments: HBASE-15648-branch-1.3.v1.patch
>
>
> It seems in HConnectionImplementation#locateRegionInMeta if region location 
> is removed from the cache, with large number of client threads we could have 
> many of them getting cache miss and doing meta scan, which looks unnecessary 
> - we could empty mechanism similar to what we have in IdLock in HFileReader 
> to fetch the block to cache, do ensure that if one thread is already looking 
> up location for region R1, other threads who need it's location wait until 
> first thread finishes his work.



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

Reply via email to