hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12751) Allow RowLock to be reader writer
Date Wed, 23 Sep 2015 00:22:05 GMT

    [ 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)

Mime
View raw message