[ https://issues.apache.org/jira/browse/HBASE-12751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14903708#comment-14903708 ]
stack commented on HBASE-12751: ------------------------------- Says we are hung up here: {code} "main" prio=10 tid=0x00007f6f94009000 nid=0x1669 in Object.wait() [0x00007f6f9d7d3000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007c7452b08> (a java.lang.Object) at org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.waitForRead(MultiVersionConcurrencyControl.java:207) - locked <0x00000007c7452b08> (a java.lang.Object) at org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.completeAndWait(MultiVersionConcurrencyControl.java:143) at org.apache.hadoop.hbase.regionserver.HRegion.internalPrepareFlushCache(HRegion.java:2257) at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2061) at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2026) at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2016) at org.apache.hadoop.hbase.regionserver.HRegion.doClose(HRegion.java:1423) at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1344) - locked <0x00000007c7452b38> (a java.lang.Object) at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1295) at org.apache.hadoop.hbase.HBaseTestingUtility.closeRegionAndWAL(HBaseTestingUtility.java:352) at org.apache.hadoop.hbase.regionserver.TestHRegion.testFlushCacheWhileScanning(TestHRegion.java:3756) {code} All other threads are hanging out doing nothing. There may be something to this but it hasn't shown up during runs of this patch up to this. I ran this patch on rig. 5 out of 6 runs completed. One failed because of aTestHCM issue I've been watching. Going to commit. > Allow RowLock to be reader writer > --------------------------------- > > Key: HBASE-12751 > URL: https://issues.apache.org/jira/browse/HBASE-12751 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 2.0.0, 1.3.0 > Reporter: Elliott Clark > Assignee: Elliott Clark > Fix For: 2.0.0, 1.3.0 > > Attachments: 12751.rebased.v25.txt, 12751.rebased.v26.txt, > 12751.rebased.v26.txt, 12751.rebased.v27.txt, 12751.rebased.v29.txt, > 12751.rebased.v31.txt, 12751.rebased.v32.txt, 12751.rebased.v32.txt, > 12751.rebased.v33.txt, 12751.rebased.v34.txt, 12751.rebased.v35.txt, > 12751.rebased.v35.txt, 12751.rebased.v35.txt, 12751.v37.txt, 12751.v38.txt, > 12751.v39.txt, 12751.v40.txt, 12751.v41.txt, 12751v22.txt, 12751v23.txt, > 12751v23.txt, 12751v23.txt, 12751v23.txt, 12751v36.txt, HBASE-12751-v1.patch, > HBASE-12751-v10.patch, HBASE-12751-v10.patch, HBASE-12751-v11.patch, > HBASE-12751-v12.patch, HBASE-12751-v13.patch, HBASE-12751-v14.patch, > HBASE-12751-v15.patch, HBASE-12751-v16.patch, HBASE-12751-v17.patch, > HBASE-12751-v18.patch, HBASE-12751-v19 (1).patch, HBASE-12751-v19.patch, > HBASE-12751-v2.patch, HBASE-12751-v20.patch, HBASE-12751-v20.patch, > HBASE-12751-v21.patch, HBASE-12751-v3.patch, HBASE-12751-v4.patch, > HBASE-12751-v5.patch, HBASE-12751-v6.patch, HBASE-12751-v7.patch, > HBASE-12751-v8.patch, HBASE-12751-v9.patch, HBASE-12751.patch > > > Right now every write operation grabs a row lock. This is to prevent values > from changing during a read modify write operation (increment or check and > put). However it limits parallelism in several different scenarios. > If there are several puts to the same row but different columns or stores > then this is very limiting. > If there are puts to the same column then mvcc number should ensure a > consistent ordering. So locking is not needed. > However locking for check and put or increment is still needed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)