Author: gdusbabek
Date: Tue Sep 28 05:40:46 2010
New Revision: 1002022

URL: http://svn.apache.org/viewvc?rev=1002022&view=rev
Log:
do not intialize table instances when loading schema. complain less loudly when 
there is a missing sstable component. patch by gdusbabek, reviewed by stuhood. 
CASSANDRA-1542

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
    cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
    
cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1002022&r1=1002021&r2=1002022&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
Tue Sep 28 05:40:46 2010
@@ -398,6 +398,7 @@ public class DatabaseDescriptor
         return conf.dynamic_snitch ? new DynamicEndpointSnitch(snitch) : 
snitch;
     }
     
+    /** load keyspace (table) definitions, but do not initialize the table 
instances. */
     public static void loadSchemas() throws IOException                        
 
     {
         // we can load tables from local storage if a version is set in the 
system table and that acutally maps to
@@ -459,8 +460,6 @@ public class DatabaseDescriptor
                     }
                 }
                 DatabaseDescriptor.setTableDefinition(def, uuid);
-                // this part creates storage and jmx objects.
-                Table.open(def.name);
             }
             
             // happens when someone manually deletes all tables and restarts.

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1002022&r1=1002021&r2=1002022&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Tue 
Sep 28 05:40:46 2010
@@ -19,6 +19,7 @@
 package org.apache.cassandra.db;
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.FilenameFilter;
 import java.io.IOError;
 import java.io.IOException;
@@ -155,6 +156,11 @@ public class ColumnFamilyStore implement
             {
                 sstable = SSTableReader.open(sstableFiles.getKey(), 
sstableFiles.getValue(), metadata, this.partitioner);
             }
+            catch (FileNotFoundException ex)
+            {
+                logger.error("Missing sstable component in " + sstableFiles + 
"; skipped because of " + ex.getMessage());
+                continue;
+            }
             catch (IOException ex)
             {
                 logger.error("Corrupt sstable " + sstableFiles + "; skipped", 
ex);

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java?rev=1002022&r1=1002021&r2=1002022&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java
 Tue Sep 28 05:40:46 2010
@@ -104,6 +104,7 @@ public abstract class AbstractCassandraD
             System.exit(100);
         }
         
+        // load keyspace descriptions.
         try
         {
             DatabaseDescriptor.loadSchemas();
@@ -114,6 +115,7 @@ public abstract class AbstractCassandraD
             System.exit(100);
         }
         
+        // clean up debris.
         for (String table : DatabaseDescriptor.getTables()) 
         {
             for (CFMetaData cfm : 
DatabaseDescriptor.getTableMetaData(table).values())


Reply via email to