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