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