Author: jbellis
Date: Thu Feb 11 03:50:40 2010
New Revision: 908831

URL: http://svn.apache.org/viewvc?rev=908831&view=rev
Log:
mv RecoverManager.doRecovery() -> CommitLog.recover()
patch by jbellis; reviewed by junrao for CASSANDRA-783

Removed:
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/RecoveryManager.java
Modified:
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
    
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManager2Test.java
    
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java?rev=908831&r1=908830&r2=908831&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java
 Thu Feb 11 03:50:40 2010
@@ -27,8 +27,8 @@
 import org.apache.avro.specific.SpecificResponder;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.CompactionManager;
-import org.apache.cassandra.db.RecoveryManager;
 import org.apache.cassandra.db.Table;
+import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.log4j.Logger;
@@ -81,7 +81,7 @@
         }
 
         // replay the log if necessary and check for compaction candidates
-        RecoveryManager.doRecovery();
+        CommitLog.recover();
         CompactionManager.instance.checkAllColumnFamilies();
 
         // start server internals

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java?rev=908831&r1=908830&r2=908831&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
 Thu Feb 11 03:50:40 2010
@@ -24,6 +24,7 @@
 import org.apache.cassandra.db.Table;
 import org.apache.cassandra.io.util.BufferedRandomAccessFile;
 import org.apache.cassandra.io.DeletionService;
+import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.utils.WrappedRunnable;
 import org.apache.cassandra.concurrent.StageManager;
 
@@ -145,6 +146,29 @@
         }
     }
 
+    public static void recover() throws IOException
+    {
+        String directory = DatabaseDescriptor.getLogFileLocation();
+        File file = new File(directory);
+        File[] files = file.listFiles(new FilenameFilter()
+        {
+            public boolean accept(File dir, String name)
+            {
+                // throw out anything that starts with dot.
+                return !name.matches("\\..*");
+            }
+        });
+        if (files.length == 0)
+            return;
+
+        Arrays.sort(files, new FileUtils.FileComparator());
+        logger.info("Replaying " + StringUtils.join(files, ", "));
+        recover(files);
+        FileUtils.delete(files);
+        logger.info("Log replay complete");
+    }
+
+
     public static void recover(File[] clogs) throws IOException
     {
         Set<Table> tablesRecovered = new HashSet<Table>();

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java?rev=908831&r1=908830&r2=908831&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
 Thu Feb 11 03:50:40 2010
@@ -26,6 +26,7 @@
 import org.apache.log4j.Logger;
 import org.apache.log4j.PropertyConfigurator;
 
+import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.server.TThreadPoolServer;
@@ -38,7 +39,6 @@
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.db.Table;
-import org.apache.cassandra.db.RecoveryManager;
 import org.apache.cassandra.db.CompactionManager;
 
 /**
@@ -92,7 +92,7 @@
         }
 
         // replay the log if necessary and check for compaction candidates
-        RecoveryManager.doRecovery();
+        CommitLog.recover();
         CompactionManager.instance.checkAllColumnFamilies();
 
         // start server internals

Modified: 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManager2Test.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManager2Test.java?rev=908831&r1=908830&r2=908831&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManager2Test.java
 (original)
+++ 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManager2Test.java
 Thu Feb 11 03:50:40 2010
@@ -29,6 +29,8 @@
 import org.junit.Test;
 
 import org.apache.cassandra.CleanupHelper;
+import org.apache.cassandra.db.commitlog.CommitLog;
+
 import static org.apache.cassandra.Util.column;
 
 public class RecoveryManager2Test extends CleanupHelper
@@ -49,7 +51,7 @@
         cfs.forceBlockingFlush();
 
         cfs.clearUnsafe();
-        RecoveryManager.doRecovery(); // this is a no-op. is testing this 
useful?
+        CommitLog.recover(); // this is a no-op. is testing this useful?
 
         assert Util.getRangeSlice(cfs).rows.isEmpty();
     }

Modified: 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java?rev=908831&r1=908830&r2=908831&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java
 (original)
+++ 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/RecoveryManagerTest.java
 Thu Feb 11 03:50:40 2010
@@ -24,6 +24,8 @@
 import org.junit.Test;
 
 import org.apache.cassandra.CleanupHelper;
+import org.apache.cassandra.db.commitlog.CommitLog;
+
 import static org.apache.cassandra.Util.column;
 import static org.apache.cassandra.db.TableTest.assertColumns;
 
@@ -32,7 +34,7 @@
     @Test
     public void testNothing() throws IOException {
         // TODO nothing to recover
-        RecoveryManager.doRecovery();
+        CommitLog.recover();
     }
 
     @Test
@@ -59,7 +61,7 @@
         table1.getColumnFamilyStore("Standard1").clearUnsafe();
         table2.getColumnFamilyStore("Standard3").clearUnsafe();
 
-        RecoveryManager.doRecovery();
+        CommitLog.recover();
 
         assertColumns(table1.get("keymulti", "Standard1"), "col1");
         assertColumns(table2.get("keymulti", "Standard3"), "col2");


Reply via email to