You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/25 00:02:29 UTC

svn commit: r1188406 - /hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLogsCleaner.java

Author: nspiegelberg
Date: Mon Oct 24 22:02:29 2011
New Revision: 1188406

URL: http://svn.apache.org/viewvc?rev=1188406&view=rev
Log:
HBASE-4591 (2) Fix broken unit test

Modified:
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLogsCleaner.java

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLogsCleaner.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLogsCleaner.java?rev=1188406&r1=1188405&r2=1188406&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLogsCleaner.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLogsCleaner.java Mon Oct 24 22:02:29 2011
@@ -64,6 +64,9 @@ public class TestLogsCleaner {
   @Test
   public void testLogCleaning() throws Exception{
     Configuration conf = TEST_UTIL.getConfiguration();
+    // set TTL
+    long ttl = 2000;
+    conf.setLong("hbase.master.logcleaner.ttl", ttl);
     conf.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
     Replication.decorateMasterConfiguration(conf);
     Server server = new DummyServer();
@@ -87,31 +90,34 @@ public class TestLogsCleaner {
     fs.createNewFile(new Path(oldLogDir, fakeMachineName + "." + "a"));
     // Case 2: 1 "recent" file, not even deletable for the first log cleaner
     // (TimeToLiveLogCleaner), so we are not going down the chain
-    fs.createNewFile(new Path(oldLogDir, fakeMachineName + "." + now));
     System.out.println("Now is: " + now);
-    for (int i = 0; i < 30; i++) {
+    for (int i = 1; i < 31; i++) {
       // Case 3: old files which would be deletable for the first log cleaner
       // (TimeToLiveLogCleaner), and also for the second (ReplicationLogCleaner)
-      Path fileName = new Path(oldLogDir, fakeMachineName + "." +
-          (now - 6000000 - i) );
+      Path fileName = new Path(oldLogDir, fakeMachineName + "." + (now - i) );
       fs.createNewFile(fileName);
       // Case 4: put 3 old log files in ZK indicating that they are scheduled
       // for replication so these files would pass the first log cleaner
       // (TimeToLiveLogCleaner) but would be rejected by the second
       // (ReplicationLogCleaner)
-      if (i % (30/3) == 0) {
+      if (i % (30/3) == 1) {
         zkHelper.addLogToList(fileName.getName(), fakeMachineName);
         System.out.println("Replication log file: " + fileName);
       }
     }
-    for (FileStatus stat : fs.listStatus(oldLogDir)) {
-      System.out.println(stat.getPath().toString());
-    }
+
+    // sleep for sometime to get newer modifcation time 
+    Thread.sleep(ttl);
+    fs.createNewFile(new Path(oldLogDir, fakeMachineName + "." + now));
 
     // Case 2: 1 newer file, not even deletable for the first log cleaner
     // (TimeToLiveLogCleaner), so we are not going down the chain
     fs.createNewFile(new Path(oldLogDir, fakeMachineName + "." + (now + 10000) ));
 
+    for (FileStatus stat : fs.listStatus(oldLogDir)) {
+      System.out.println(stat.getPath().toString());
+    }
+
     assertEquals(34, fs.listStatus(oldLogDir).length);
 
     cleaner.chore();
@@ -168,4 +174,4 @@ public class TestLogsCleaner {
       return false;
     }
   }
-}
\ No newline at end of file
+}