You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/06/24 21:25:21 UTC

svn commit: r788146 - in /incubator/cassandra/trunk/src/java/org/apache/cassandra/db: ColumnFamilyStore.java MinorCompactionManager.java

Author: jbellis
Date: Wed Jun 24 19:25:21 2009
New Revision: 788146

URL: http://svn.apache.org/viewvc?rev=788146&view=rev
Log:
cleanup CFS.onstart
patch by jbellis; reviewed by Jun Rao for CASSANDRA-235

Modified:
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/MinorCompactionManager.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=788146&r1=788145&r2=788146&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 Jun 24 19:25:21 2009
@@ -147,7 +147,7 @@
 
     void onStart() throws IOException
     {
-        /* Do major compaction */
+        // scan for data files corresponding to this CF
         List<File> sstableFiles = new ArrayList<File>();
         String[] dataFileDirectories = DatabaseDescriptor.getAllDataFileLocations();
         for (String directory : dataFileDirectories)
@@ -173,15 +173,11 @@
             }
         }
         Collections.sort(sstableFiles, new FileUtils.FileComparator());
-        List<String> filenames = new ArrayList<String>();
-        for (File ssTable : sstableFiles)
-        {
-            filenames.add(ssTable.getAbsolutePath());
-        }
 
         /* Load the index files and the Bloom Filters associated with them. */
-        for (String filename : filenames)
+        for (File file : sstableFiles)
         {
+            String filename = file.getAbsolutePath();
             try
             {
                 SSTable sstable = SSTable.open(filename, StorageService.getPartitioner());
@@ -189,20 +185,21 @@
             }
             catch (IOException ex)
             {
-                logger_.info("Deleting corrupted file " + filename);
+                logger_.error("Corrupt file " + filename, ex);
                 FileUtils.delete(filename);
-                logger_.warn(LogUtil.throwableToString(ex));
             }
         }
+
+        // submit initial check-for-compaction request
         MinorCompactionManager.instance().submit(ColumnFamilyStore.this);
+
+        // schedule hinted handoff
         if (table_.equals(Table.SYSTEM_TABLE) && columnFamily_.equals(HintedHandOffManager.HINTS_CF))
         {
             HintedHandOffManager.instance().submit(this);
         }
-        // TODO this seems unnecessary -- each memtable flush checks to see if it needs to compact, too
-        MinorCompactionManager.instance().submitPeriodicCompaction(this);
 
-        /* submit periodic flusher if required */
+        // schedule periodic flusher if required
         int flushPeriod = DatabaseDescriptor.getFlushPeriod(table_, columnFamily_);
         if (flushPeriod > 0)
         {

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/MinorCompactionManager.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/MinorCompactionManager.java?rev=788146&r1=788145&r2=788146&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/MinorCompactionManager.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/MinorCompactionManager.java Wed Jun 24 19:25:21 2009
@@ -151,26 +151,6 @@
     
     private ScheduledExecutorService compactor_ = new DebuggableScheduledThreadPoolExecutor(1, new ThreadFactoryImpl("MINOR-COMPACTION-POOL"));
 
-    public void submitPeriodicCompaction(final ColumnFamilyStore columnFamilyStore)
-    {
-        Runnable runnable = new Runnable()
-        {
-            public void run()
-            {
-                try
-                {
-                    columnFamilyStore.doCompaction(COMPACTION_THRESHOLD);
-                }
-                catch (IOException e)
-                {
-                    throw new RuntimeException(e);
-                }
-            }
-        };
-    	compactor_.scheduleWithFixedDelay(runnable, MinorCompactionManager.intervalInMins_,
-    			MinorCompactionManager.intervalInMins_, TimeUnit.MINUTES);       
-    }
-
     public Future<Integer> submit(final ColumnFamilyStore columnFamilyStore)
     {
         return submit(columnFamilyStore, COMPACTION_THRESHOLD);