hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ryan rawson (JIRA)" <j...@apache.org>
Subject [jira] Created: (HBASE-2023) Client sync block can cause 1 thread of a multi-threaded client to block all others
Date Tue, 01 Dec 2009 22:21:20 GMT
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.


Mime
View raw message