[ https://issues.apache.org/jira/browse/HBASE-2023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack resolved HBASE-2023. -------------------------- Resolution: Fixed Fix Version/s: 0.21.0 0.20.4 Assignee: Karthik Ranganathan Hadoop Flags: [Reviewed] Committed branch and trunk. Thanks for the patch Karthik (I added you as contributor if you don't mind). > 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 > Assignee: Karthik Ranganathan > Fix For: 0.20.4, 0.21.0 > > Attachments: HBASE-2023_0.20.3.patch > > > 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.