You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by li...@apache.org on 2012/10/30 07:13:24 UTC

svn commit: r1403625 - in /hbase/branches/0.89-fb/src: main/java/org/apache/hadoop/hbase/regionserver/HRegion.java test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogFiltering.java

Author: liyin
Date: Tue Oct 30 06:13:24 2012
New Revision: 1403625

URL: http://svn.apache.org/viewvc?rev=1403625&view=rev
Log:
[0.89-fb] [master] Update lastFlushedSequenceId again in HRegion

Author: avf

Summary:
Looks like the fix for HBASE-6059 (rev 28942) accidentally removed
the code that updated lastFlushedSequenceId upon every memstore flush,
leading to failures in TestHLogFiltering

This change puts the code back into place and also makes the test more
robust by not assuming that each one of the regions lives on a
distinct server.

Test Plan:
Run TestHLogFiltering and mrunit

Revert Plan:

Reviewers: kannan, lipi, aaiyer

Reviewed By: kannan

CC: hbase-eng@

Differential Revision: https://phabricator.fb.com/D610277

Blame Revision: 28942

Task ID: 1783053

Modified:
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogFiltering.java

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1403625&r1=1403624&r2=1403625&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Tue Oct 30 06:13:24 2012
@@ -1540,6 +1540,12 @@ public class HRegion implements HeapSize
         this.getRegionInfo().isMetaRegion());
     }
 
+    // Update the last flushed sequence id for region
+    if (this.regionServer != null) {
+      this.regionServer.getServerInfo().setFlushedSequenceIdForRegion(
+          getRegionName(),
+          completeSequenceId);
+    }
     // C. Finally notify anyone waiting on memstore to clear:
     // e.g. checkResources().
     synchronized (this) {

Modified: hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogFiltering.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogFiltering.java?rev=1403625&r1=1403624&r2=1403625&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogFiltering.java (original)
+++ hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogFiltering.java Tue Oct 30 06:13:24 2012
@@ -108,9 +108,11 @@ public class TestHLogFiltering {
         new TreeMap<byte[], Long>(Bytes.BYTES_COMPARATOR);
     for (int i = 0; i < NUM_RS; ++i) {
       SortedMap<byte[], Long> flushedSequenceIds = flushAllRegions(i);
-      assertTrue(flushedSequenceIds.size() > 0);
-      allFlushedSequenceIds.putAll(flushedSequenceIds);
+      if (flushedSequenceIds.size() > 0) {
+        allFlushedSequenceIds.putAll(flushedSequenceIds);
+      }
     }
+    assertTrue(allFlushedSequenceIds.size() > 0);
     Thread.sleep(10000);
     HMasterRegionInterface master = TEST_UTIL.getMiniHBaseCluster().getMaster();
     for (int i = 0; i < NUM_RS; ++i) {