You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2014/01/04 05:49:30 UTC
svn commit: r1555321 - in /hbase/branches/0.94/src:
main/java/org/apache/hadoop/hbase/regionserver/Store.java
test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
Author: larsh
Date: Sat Jan 4 04:49:29 2014
New Revision: 1555321
URL: http://svn.apache.org/r1555321
Log:
HBASE-10279 TestStore.testDeleteExpiredStoreFiles is flaky
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java?rev=1555321&r1=1555320&r2=1555321&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java Sat Jan 4 04:49:29 2014
@@ -1316,7 +1316,7 @@ public class Store extends SchemaConfigu
}
// TODO: Use better method for determining stamp of last major (HBASE-2990)
long lowTimestamp = getLowestTimestamp(filesToCompact);
- long now = System.currentTimeMillis();
+ long now = EnvironmentEdgeManager.currentTimeMillis();
if (lowTimestamp > 0l && lowTimestamp < (now - mcTime)) {
// Major compaction time has elapsed.
if (filesToCompact.size() == 1) {
Modified: hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java?rev=1555321&r1=1555320&r2=1555321&view=diff
==============================================================================
--- hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java (original)
+++ hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java Sat Jan 4 04:49:29 2014
@@ -151,6 +151,8 @@ public class TestStore extends TestCase
}
public void testDeleteExpiredStoreFiles() throws Exception {
+ ManualEnvironmentEdge mee = new ManualEnvironmentEdge();
+ EnvironmentEdgeManagerTestHelper.injectEdge(mee);
int storeFileNum = 4;
int ttl = 4;
@@ -172,8 +174,10 @@ public class TestStore extends TestCase
this.store.add(new KeyValue(row, family, qf2, timeStamp, (byte[]) null));
this.store.add(new KeyValue(row, family, qf3, timeStamp, (byte[]) null));
flush(i);
- Thread.sleep(sleepTime);
+ mee.incValue(sleepTime);
}
+ // move time forward a bit more, so that the first file is expired
+ mee.incValue(1);
// Verify the total number of store files
assertEquals(storeFileNum, this.store.getStorefiles().size());
@@ -187,7 +191,7 @@ public class TestStore extends TestCase
// If not the first compaction, there is another empty store file,
assertEquals(Math.min(i, 2), cr.getFiles().size());
for (int j = 0; i < cr.getFiles().size(); j++) {
- assertTrue(cr.getFiles().get(j).getReader().getMaxTimestamp() < (System
+ assertTrue(cr.getFiles().get(j).getReader().getMaxTimestamp() < (EnvironmentEdgeManager
.currentTimeMillis() - this.store.scanInfo.getTtl()));
}
// Verify that the expired store file is compacted to an empty store file.
@@ -197,7 +201,7 @@ public class TestStore extends TestCase
.getEntries());
// Let the next store file expired.
- Thread.sleep(sleepTime);
+ mee.incValue(sleepTime);
}
}