hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amitanand Aiyer (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-8171) Perf issue with multiple client threads trying to prefetch Region Cache from META
Date Thu, 21 Mar 2013 18:45:15 GMT
Amitanand Aiyer created HBASE-8171:
--------------------------------------

             Summary: Perf issue with multiple client threads trying to prefetch Region Cache
from META
                 Key: HBASE-8171
                 URL: https://issues.apache.org/jira/browse/HBASE-8171
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.94.5, 0.94.3, 0.89-fb
            Reporter: Amitanand Aiyer
            Assignee: Amitanand Aiyer


HBaseClient maintains a cache of Regions to region locations that gets cleared whenever the
RS that the client talks to is unresponsive.

This will result in the Client having to talk to META to fetch the region location before
doing the get/put.

https://issues.apache.org/jira/browse/HBASE-2468 introduces the feature to prewarm the cache,
where the client gets some rows from META to warm the cache.

This is a costly operation. And,  it looks like all client threads that block on the regionLockObject,
will go in and do the cache warmup; although the cache might have been already warmed up by
an earlier thread. 

When there is a network issue going on, we see lots of Client threads blocking in locateRegionInMeta.


The fix would be to check the cache again; before we do the prefetch after grabbing the lock.
Currently, the client threads look in the cache at the begining of the method. But a lot could
have changed while waiting for the regionLockObject.




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message