Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 11200 invoked from network); 1 Oct 2010 20:26:49 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Oct 2010 20:26:49 -0000 Received: (qmail 43109 invoked by uid 500); 1 Oct 2010 20:26:49 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 43094 invoked by uid 500); 1 Oct 2010 20:26:49 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 43083 invoked by uid 99); 1 Oct 2010 20:26:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Oct 2010 20:26:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Oct 2010 20:26:46 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id ABF07238890A; Fri, 1 Oct 2010 20:26:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1003635 - /cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java Date: Fri, 01 Oct 2010 20:26:25 -0000 To: commits@cassandra.apache.org From: jbellis@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101001202625.ABF07238890A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jbellis Date: Fri Oct 1 20:26:25 2010 New Revision: 1003635 URL: http://svn.apache.org/viewvc?rev=1003635&view=rev Log: scrub System keyspace before opening it patch by jbellis; reviewed by gdusbabek for CASSANDRA-1564 Modified: cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java 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=1003635&r1=1003634&r2=1003635&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java Fri Oct 1 20:26:25 2010 @@ -93,7 +93,11 @@ public abstract class AbstractCassandraD } }); - // check the system table for mismatched partitioner. + // check the system table to keep user from shooting self in foot by changing partitioner, cluster name, etc. + // we do a one-off scrub of the system table first; we can't load the list of the rest of the tables, + // until system table is opened. + for (CFMetaData cfm : DatabaseDescriptor.getTableMetaData(Table.SYSTEM_TABLE).values()) + ColumnFamilyStore.scrubDataDirectories(Table.SYSTEM_TABLE, cfm.cfName); try { SystemTable.checkHealth(); @@ -115,7 +119,7 @@ public abstract class AbstractCassandraD System.exit(100); } - // clean up debris. + // clean up debris in the rest of the tables for (String table : DatabaseDescriptor.getTables()) { for (CFMetaData cfm : DatabaseDescriptor.getTableMetaData(table).values())