Author: rawson
Date: Wed Oct  6 00:59:07 2010
New Revision: 1004867

URL: http://svn.apache.org/viewvc?rev=1004867&view=rev
Log:
HBASE-3059  TestReadWriteConsistencyControl occasionally hangs (Hairong via 
Ryan)


Modified:
    hbase/trunk/CHANGES.txt
    
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java

Modified: hbase/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1004867&r1=1004866&r2=1004867&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Wed Oct  6 00:59:07 2010
@@ -565,6 +565,8 @@ Release 0.21.0 - Unreleased
    HBASE-3064  Long sleeping in HConnectionManager after thread is interrupted
                (Bruno Dumon via Stack)
    HBASE-2753  Remove sorted() methods from Result now that Gets are Scans
+   HBASE-3059  TestReadWriteConsistencyControl occasionally hangs (Hairong 
+              via Ryan)
 
   IMPROVEMENTS
    HBASE-1760  Cleanup TODOs in HTable

Modified: 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java?rev=1004867&r1=1004866&r2=1004867&view=diff
==============================================================================
--- 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java
 (original)
+++ 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java
 Wed Oct  6 00:59:07 2010
@@ -114,9 +114,8 @@ public class ReadWriteConsistencyControl
       }
 
       if (nextReadValue > 0) {
-        memstoreRead = nextReadValue;
-
         synchronized (readWaiters) {
+          memstoreRead = nextReadValue;
           readWaiters.notifyAll();
         }
 
@@ -124,8 +123,8 @@ public class ReadWriteConsistencyControl
     }
 
     boolean interrupted = false;
-    while (memstoreRead < e.getWriteNumber()) {
-      synchronized (readWaiters) {
+    synchronized (readWaiters) {
+      while (memstoreRead < e.getWriteNumber()) {
         try {
           readWaiters.wait(0);
         } catch (InterruptedException ie) {


Reply via email to