You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2008/08/12 19:23:12 UTC

svn commit: r685234 - in /hadoop/hbase: branches/0.2/CHANGES.txt branches/0.2/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java trunk/CHANGES.txt trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Author: stack
Date: Tue Aug 12 10:23:11 2008
New Revision: 685234

URL: http://svn.apache.org/viewvc?rev=685234&view=rev
Log:
HBASE-820 Need mainline to flush when 'Blocking updates' goes up.

Modified:
    hadoop/hbase/branches/0.2/CHANGES.txt
    hadoop/hbase/branches/0.2/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Modified: hadoop/hbase/branches/0.2/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.2/CHANGES.txt?rev=685234&r1=685233&r2=685234&view=diff
==============================================================================
--- hadoop/hbase/branches/0.2/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.2/CHANGES.txt Tue Aug 12 10:23:11 2008
@@ -12,6 +12,8 @@
    HBASE-819   Remove DOS-style ^M carriage returns from all code where found
                (Jonathan Gray via Jim Kellerman)
    HBASE-818   Deadlock running 'flushSomeRegions' (Andrew Purtell via Stack)
+   HBASE-821   Need mainline to flush when 'Blocking updates' goes up.
+               (Jean-Daniel Cryans via Stack)
 
   IMPROVEMENTS
    HBASE-801  When a table haven't disable, shell could response in a "user

Modified: hadoop/hbase/branches/0.2/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.2/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=685234&r1=685233&r2=685234&view=diff
==============================================================================
--- hadoop/hbase/branches/0.2/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hadoop/hbase/branches/0.2/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java Tue Aug 12 10:23:11 2008
@@ -1423,7 +1423,14 @@
    * this and the synchronize on 'this' inside in internalFlushCache to send
    * the notify.
    */
-  private synchronized void checkResources() {
+  private void checkResources() {
+    if (this.memcacheSize.get() > this.blockingMemcacheSize) {
+      requestFlush();
+      doBlocking();
+    }
+  }
+  
+  private synchronized void doBlocking() {
     boolean blocked = false;
     while (this.memcacheSize.get() > this.blockingMemcacheSize) {
       if (!blocked) {

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=685234&r1=685233&r2=685234&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Tue Aug 12 10:23:11 2008
@@ -12,6 +12,8 @@
    HBASE-819   Remove DOS-style ^M carriage returns from all code where found
                (Jonathan Gray via Jim Kellerman)
    HBASE-818   Deadlock running 'flushSomeRegions' (Andrew Purtell via Stack)
+   HBASE-821   Need mainline to flush when 'Blocking updates' goes up.
+               (Jean-Daniel Cryans via Stack)
 
   IMPROVEMENTS
    HBASE-801  When a table haven't disable, shell could response in a "user

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=685234&r1=685233&r2=685234&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java Tue Aug 12 10:23:11 2008
@@ -1423,7 +1423,14 @@
    * this and the synchronize on 'this' inside in internalFlushCache to send
    * the notify.
    */
-  private synchronized void checkResources() {
+  private void checkResources() {
+    if (this.memcacheSize.get() > this.blockingMemcacheSize) {
+      requestFlush();
+      doBlocking();
+    }
+  }
+  
+  private synchronized void doBlocking() {
     boolean blocked = false;
     while (this.memcacheSize.get() > this.blockingMemcacheSize) {
       if (!blocked) {