hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ryan rawson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-3059) TestReadWriteConsistencyControl occasionally hangs
Date Thu, 30 Sep 2010 21:45:34 GMT

    [ https://issues.apache.org/jira/browse/HBASE-3059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12916693#action_12916693
] 

ryan rawson commented on HBASE-3059:
------------------------------------

a few questions:

- What jvm are you using?  You must be using a 64 bit jvm to run hbase.  32 bit jvms dont
offer atomic updates to longs, which is required for this code.
- how and why does this fix the hang?  The variable is volatile, so adding a synchronized
block should not improve the characteristics according the the JMM.
- How much does this slow down the code?  Readwaiters is a fairly sensitive lock and holding
it for less time would be better.


> TestReadWriteConsistencyControl occasionally hangs
> --------------------------------------------------
>
>                 Key: HBASE-3059
>                 URL: https://issues.apache.org/jira/browse/HBASE-3059
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Hairong Kuang
>            Assignee: Hairong Kuang
>         Attachments: hbase_trunk_consistency.patch
>
>
> The test hung when I ran mvn test today. The jstack shows that a Writer thread hung at
> "Thread-1" prio=10 tid=0x00002aaad81d2800 nid=0x6ce9 in Object.wait() [0x0000000040f37000]
>    java.lang.Thread.State: WAITING (on object monitor)  at java.lang.Object.wait(Native
Method)
>   at org.apache.hadoop.hbase.regionserver.ReadWriteConsistencyControl.completeMemstoreInsert(ReadWriteConsistencyControl.java:130)
>   -- locked <0x00002aaac9fa0f50> (a java.lang.Object)                
>   at org.apache.hadoop.hbase.regionserver.TestReadWriteConsistencyControl$Writer.run(TestReadWriteConsistencyControl.java:56)
 at java.lang.Thread.run(Thread.java:619)
> It seems to be caused by a race condition in ReadWriteConsistencyControl#completeMemStoreInsert.
Accesses/updates of the value of memStoreRead should be done while holding the readWaiters
lock.

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