Author: jbellis
Date: Wed Dec 23 19:19:38 2009
New Revision: 893604

URL: http://svn.apache.org/viewvc?rev=893604&view=rev
Log:
move initial check for compaction to after log replay.  patch by jbellis; 
reviewed by eevans for CASSANDRA-599

Modified:
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
    
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraDaemon.java

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=893604&r1=893603&r2=893604&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
 Wed Dec 23 19:19:38 2009
@@ -245,9 +245,6 @@
         }
         ssTables_.onStart(sstables);
 
-        // submit initial check-for-compaction request
-        CompactionManager.instance.submitMinor(ColumnFamilyStore.this);
-
         // schedule hinted handoff
         if (table_.equals(Table.SYSTEM_TABLE) && 
columnFamily_.equals(HintedHandOffManager.HINTS_CF))
         {

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java?rev=893604&r1=893603&r2=893604&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
 Wed Dec 23 19:19:38 2009
@@ -527,4 +527,22 @@
             }
         }
     }
+
+    public void checkAllColumnFamilies()
+    {
+        for (String tableName : DatabaseDescriptor.getTables())
+        {
+            try
+            {
+                for (ColumnFamilyStore cfs : 
Table.open(tableName).getColumnFamilyStores().values())
+                {
+                    submitMinor(cfs);
+                }
+            }
+            catch (IOException e)
+            {
+                throw new RuntimeException(e);
+            }
+        }
+    }
 }

Modified: 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraDaemon.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraDaemon.java?rev=893604&r1=893603&r2=893604&view=diff
==============================================================================
--- 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraDaemon.java
 (original)
+++ 
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/CassandraDaemon.java
 Wed Dec 23 19:19:38 2009
@@ -38,6 +38,7 @@
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.db.Table;
 import org.apache.cassandra.db.RecoveryManager;
+import org.apache.cassandra.db.CompactionManager;
 
 /**
  * This class supports two methods for creating a Cassandra node daemon, 
@@ -90,8 +91,9 @@
             tbl.onStart();
         }
 
-        // replay the log if necessary
+        // replay the log if necessary and check for compaction candidates
         RecoveryManager.doRecovery();
+        CompactionManager.instance.checkAllColumnFamilies();
 
         // start server internals
         StorageService.instance().initServer();


Reply via email to