hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Daniel Cryans <jdcry...@apache.org>
Subject Re: Review Request: HBASE-2915 Deadlock between HRegion.ICV and HRegion.close
Date Thu, 19 Aug 2010 23:48:20 GMT
I'd like to but without this patch the region server deadlocks like I
described in today's comment in HBASE-2915. I personally don't expect
to see any noticeable difference as most of the locks are just
replaced.

J-D

On Thu, Aug 19, 2010 at 3:34 PM, Ted Yu <yuzhihong@gmail.com> wrote:
> J-D:
> Can you collect performance numbers in your cluster after deployment ?
>
> Thanks
>
> On Thu, Aug 19, 2010 at 2:59 PM, Jean-Daniel Cryans <jdcryans@apache.org>wrote:
>
>>
>> -----------------------------------------------------------
>> This is an automatically generated e-mail. To reply, visit:
>> http://review.cloudera.org/r/691/
>> -----------------------------------------------------------
>>
>> Review request for hbase.
>>
>>
>> Summary
>> -------
>>
>> This patch removes newScannerLock and renames splitAndClose lock to just
>> "lock". Every operation is now required to obtain the read lock on "lock"
>> before doing anything (including getting a row lock). This is done by
>> calling openRegionTransaction inside a try statement and by calling
>> closeRegionTransaction in finally.
>>
>> flushcache got refactored some more in order to do the locking in the
>> proper order; first get the read lock, then do the writestate handling.
>>
>> Finally, it removes the need to have a writeLock when flushing when
>> subclassers give atomic work do to via internalPreFlushcacheCommit. This
>> means that this patch breaks external contribs. This is required to keep our
>> whole locking mechanism simpler.
>>
>>
>> This addresses bug HBASE-2915.
>>    http://issues.apache.org/jira/browse/HBASE-2915
>>
>>
>> Diffs
>> -----
>>
>>  /trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
>> 987300
>>  /trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
>> 987300
>>  /trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java
>> 987300
>>
>> Diff: http://review.cloudera.org/r/691/diff
>>
>>
>> Testing
>> -------
>>
>> 5 concurrent ICV threads + randomWrite 3 + scans on a single RS. I'm also
>> in the process of deploying it on a cluster.
>>
>>
>> Thanks,
>>
>> Jean-Daniel
>>
>>
>

Mime
View raw message