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 2011/11/04 00:43:27 UTC

svn commit: r1197351 - in /hbase/branches/0.92/src: main/java/org/apache/hadoop/hbase/regionserver/HRegion.java test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java

Author: stack
Date: Thu Nov  3 23:43:26 2011
New Revision: 1197351

URL: http://svn.apache.org/viewvc?rev=1197351&view=rev
Log:
HBASE-4722 TestGlobalMemStoreSize has started failing; ADDENDUM

Modified:
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1197351&r1=1197350&r2=1197351&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Thu Nov  3 23:43:26 2011
@@ -1166,7 +1166,7 @@ public class HRegion implements HeapSize
     status.setStatus("Obtaining lock to block concurrent updates");
     this.updatesLock.writeLock().lock();
     status.setStatus("Preparing to flush by snapshotting stores");
-    final long currentMemStoreSize = this.memstoreSize.get();
+    long currentMemStoreSize = 0;
     List<StoreFlusher> storeFlushers = new ArrayList<StoreFlusher>(stores.size());
     try {
       sequenceId = (wal == null)? myseqid :
@@ -1212,7 +1212,8 @@ public class HRegion implements HeapSize
       storeFlushers.clear();
 
       // Set down the memstore size by amount of flush.
-      this.addAndGetGlobalMemstoreSize(-currentMemStoreSize);
+      currentMemStoreSize =
+        this.addAndGetGlobalMemstoreSize(-this.memstoreSize.get());
     } catch (Throwable t) {
       // An exception here means that the snapshot was not persisted.
       // The hlog needs to be replayed so its content is restored to memstore.

Modified: hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java?rev=1197351&r1=1197350&r2=1197351&view=diff
==============================================================================
--- hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java (original)
+++ hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java Thu Nov  3 23:43:26 2011
@@ -77,7 +77,7 @@ public class TestGlobalMemStoreSize {
         regionNum);
     assertEquals(regionNum,numRegions);
     waitForAllRegionsAssigned();
-    
+        
     for (HRegionServer server : getOnlineRegionServers()) {
       long globalMemStoreSize = 0;
       for(HRegionInfo regionInfo : server.getOnlineRegions()) {
@@ -90,11 +90,14 @@ public class TestGlobalMemStoreSize {
     }
     
     // check the global memstore size after flush
+    int i = 0;
     for (HRegionServer server : getOnlineRegionServers()) {
+      LOG.info("Starting flushes on " + server.getServerName() + ", size=" + server.getRegionServerAccounting().getGlobalMemstoreSize());
       for(HRegionInfo regionInfo : server.getOnlineRegions()) {
         HRegion region= 
           server.getFromOnlineRegions(regionInfo.getEncodedName());
-        region.flushcache();
+        LOG.info("Flush " + region.toString() + " on " + server.getServerName() + ", " +
+          region.flushcache() + ", size=" + server.getRegionServerAccounting().getGlobalMemstoreSize());;
       }
       assertEquals(server.getRegionServerAccounting().getGlobalMemstoreSize(),
           0);