Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 17187 invoked from network); 27 Jul 2010 14:51:07 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 27 Jul 2010 14:51:07 -0000 Received: (qmail 52215 invoked by uid 500); 27 Jul 2010 14:51:07 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 52191 invoked by uid 500); 27 Jul 2010 14:51:06 -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 52183 invoked by uid 99); 27 Jul 2010 14:51:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Jul 2010 14:51:06 +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; Tue, 27 Jul 2010 14:51:03 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 745592388A56; Tue, 27 Jul 2010 14:50:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r979734 - in /cassandra/trunk/src/java/org/apache/cassandra: db/DefinitionsUpdateResponseVerbHandler.java service/StorageService.java Date: Tue, 27 Jul 2010 14:50:10 -0000 To: commits@cassandra.apache.org From: gdusbabek@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100727145010.745592388A56@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gdusbabek Date: Tue Jul 27 14:50:10 2010 New Revision: 979734 URL: http://svn.apache.org/viewvc?rev=979734&view=rev Log: push migrations when SS.loadSchemaFromYaml is called. patch by gdusbabek, reviewed by jbellis. CASSANDRA-1321 Modified: cassandra/trunk/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Modified: cassandra/trunk/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java?rev=979734&r1=979733&r2=979734&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java Tue Jul 27 14:50:10 2010 @@ -60,8 +60,10 @@ public class DefinitionsUpdateResponseVe protected void runMayThrow() throws Exception { // check to make sure the current version is before this one. - if (DatabaseDescriptor.getDefsVersion().timestamp() >= version.timestamp()) - logger.debug("Not applying " + version.toString()); + if (DatabaseDescriptor.getDefsVersion().timestamp() == version.timestamp()) + logger.debug("Not appling (equal) " + version.toString()); + else if (DatabaseDescriptor.getDefsVersion().timestamp() > version.timestamp()) + logger.debug("Not applying (before)" + version.toString()); else { logger.debug("Applying {} from {}", m.getClass().getSimpleName(), message.getFrom()); Modified: cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=979734&r1=979733&r2=979734&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Tue Jul 27 14:50:10 2010 @@ -31,7 +31,6 @@ import javax.management.ObjectName; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ColumnDefinition; -import org.apache.cassandra.config.Config; import org.apache.cassandra.config.RawColumnDefinition; import org.apache.cassandra.config.RawColumnFamily; import org.apache.cassandra.config.RawKeyspace; @@ -77,10 +76,7 @@ import org.apache.log4j.Level; import org.yaml.snakeyaml.Dumper; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; -import org.yaml.snakeyaml.introspector.Property; -import org.yaml.snakeyaml.nodes.NodeTuple; import org.yaml.snakeyaml.nodes.Tag; -import org.yaml.snakeyaml.representer.Representer; /* * This abstraction contains the token/identifier of this node @@ -1667,8 +1663,13 @@ public class StorageService implements I // blow up if there is a schema saved. if (DatabaseDescriptor.getDefsVersion().timestamp() > 0 || Migration.getLastMigrationId() != null) throw new ConfigurationException("Cannot load from XML on top of pre-existing schemas."); + + Migration migration = null; for (KSMetaData table : DatabaseDescriptor.readTablesFromYaml()) - new AddKeyspace(table).apply(); + { + migration = new AddKeyspace(table); + migration.apply(); + } assert DatabaseDescriptor.getDefsVersion().timestamp() > 0; DefsTable.dumpToStorage(DatabaseDescriptor.getDefsVersion()); @@ -1689,6 +1690,11 @@ public class StorageService implements I } } + // we don't want to announce after every Migration.apply(). keep track of the last one and then announce the + // current version. + if (migration != null) + migration.announce(); + } public String exportSchema() throws IOException