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.