Client sync block can cause 1 thread of a multi-threaded client to block all
others
-----------------------------------------------------------------------------------
Key: HBASE-2023
URL: https://issues.apache.org/jira/browse/HBASE-2023
Project: Hadoop HBase
Issue Type: Bug
Affects Versions: 0.20.2
Reporter: ryan rawson
Take a highly multithreaded client, processing a few thousand requests a
second. If a table goes offline, one thread will get stuck in
"locateRegionInMeta" which is located inside the following sync block:
synchronized(userRegionLock){
return locateRegionInMeta(META_TABLE_NAME, tableName, row, useCache);
}
So when other threads need to find a region (EVEN IF ITS CACHED!!!) it will
encounter this sync and wait.
This can become an issue on a busy thrift server (where I first noticed the
problem), one region offline can prevent access to all other regions!
Potential solution: narrow this lock, or perhaps just get rid of it completely.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.