You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by xe...@apache.org on 2012/02/23 16:31:16 UTC
[1/2] git commit: fix for intermittent SchemaDisagreementException
patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-3884
Updated Branches:
refs/heads/cassandra-1.1 e376bc02e -> 44d6f49bb
fix for intermittent SchemaDisagreementException
patch by Pavel Yaskevich; reviewed by Sylvain Lebresne for CASSANDRA-3884
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9dbb1b77
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9dbb1b77
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9dbb1b77
Branch: refs/heads/cassandra-1.1
Commit: 9dbb1b7757b1601e78254fde5a7142e93f46b620
Parents: e376bc0
Author: Pavel Yaskevich <xe...@apache.org>
Authored: Thu Feb 23 18:03:17 2012 +0300
Committer: Pavel Yaskevich <xe...@apache.org>
Committed: Thu Feb 23 18:28:15 2012 +0300
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/config/Schema.java | 2 +-
.../org/apache/cassandra/cql/QueryProcessor.java | 1 -
.../cql3/statements/SchemaAlteringStatement.java | 1 -
.../cassandra/db/migration/AddColumnFamily.java | 6 +-
.../apache/cassandra/db/migration/AddKeyspace.java | 6 +-
.../cassandra/db/migration/DropColumnFamily.java | 6 +-
.../cassandra/db/migration/DropKeyspace.java | 6 +-
.../apache/cassandra/db/migration/Migration.java | 20 +++-
.../cassandra/db/migration/MigrationHelper.java | 86 ++++++++++-----
.../cassandra/db/migration/UpdateColumnFamily.java | 6 +-
.../cassandra/db/migration/UpdateKeyspace.java | 8 +-
.../apache/cassandra/thrift/CassandraServer.java | 1 -
13 files changed, 100 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index a41bdba..2796c5c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -8,6 +8,7 @@
* Fix bug with counters in super columns (CASSANDRA-3821)
* Remove deprecated merge_shard_chance (CASSANDRA-3940)
* add a convenient way to reset a node's schema (CASSANDRA-2963)
+ * fix for intermittent SchemaDisagreementException (CASSANDRA-3884)
Merged from 1.0:
* remove the wait on hint future during write (CASSANDRA-3870)
* (cqlsh) ignore missing CfDef opts (CASSANDRA-3933)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/config/Schema.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/Schema.java b/src/java/org/apache/cassandra/config/Schema.java
index d27b347..2ae507b 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -462,7 +462,7 @@ public class Schema
for (Row row : SystemTable.serializedSchema())
{
- if (row.cf == null || row.cf.getColumnCount() == 0)
+ if (row.cf == null || row.cf.isMarkedForDelete() || row.cf.isEmpty())
continue;
row.cf.updateDigest(versionDigest);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/cql/QueryProcessor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql/QueryProcessor.java b/src/java/org/apache/cassandra/cql/QueryProcessor.java
index c539979..befcb21 100644
--- a/src/java/org/apache/cassandra/cql/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql/QueryProcessor.java
@@ -332,7 +332,6 @@ public class QueryProcessor
public Object call() throws Exception
{
m.apply();
- m.announce();
return null;
}
});
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/cql3/statements/SchemaAlteringStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/SchemaAlteringStatement.java b/src/java/org/apache/cassandra/cql3/statements/SchemaAlteringStatement.java
index 573d0eb..a34942d 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SchemaAlteringStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SchemaAlteringStatement.java
@@ -129,7 +129,6 @@ public abstract class SchemaAlteringStatement extends CFStatement implements CQL
public Object call() throws Exception
{
m.apply();
- m.announce();
return null;
}
});
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java b/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java
index b3762ca..944ee9d 100644
--- a/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java
+++ b/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java
@@ -18,11 +18,13 @@
package org.apache.cassandra.db.migration;
import java.io.IOException;
+import java.util.Collection;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ConfigurationException;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.db.RowMutation;
public class AddColumnFamily extends Migration
{
@@ -44,9 +46,9 @@ public class AddColumnFamily extends Migration
this.cfm = cfm;
}
- protected void applyImpl() throws ConfigurationException, IOException
+ protected Collection<RowMutation> applyImpl() throws ConfigurationException, IOException
{
- MigrationHelper.addColumnFamily(cfm, timestamp);
+ return MigrationHelper.addColumnFamily(cfm, timestamp);
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/AddKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/AddKeyspace.java b/src/java/org/apache/cassandra/db/migration/AddKeyspace.java
index 1cd1e99..d0f4bfd 100644
--- a/src/java/org/apache/cassandra/db/migration/AddKeyspace.java
+++ b/src/java/org/apache/cassandra/db/migration/AddKeyspace.java
@@ -19,11 +19,13 @@
package org.apache.cassandra.db.migration;
import java.io.IOException;
+import java.util.Collection;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ConfigurationException;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.db.RowMutation;
public class AddKeyspace extends Migration
{
@@ -44,9 +46,9 @@ public class AddKeyspace extends Migration
this.ksm = ksm;
}
- protected void applyImpl() throws ConfigurationException, IOException
+ protected Collection<RowMutation> applyImpl() throws ConfigurationException, IOException
{
- MigrationHelper.addKeyspace(ksm, timestamp);
+ return MigrationHelper.addKeyspace(ksm, timestamp);
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java b/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
index 2f2bed2..b83cf9d 100644
--- a/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
+++ b/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
@@ -18,10 +18,12 @@
package org.apache.cassandra.db.migration;
import java.io.IOException;
+import java.util.Collection;
import org.apache.cassandra.config.ConfigurationException;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.db.RowMutation;
public class DropColumnFamily extends Migration
{
@@ -42,9 +44,9 @@ public class DropColumnFamily extends Migration
this.cfName = cfName;
}
- protected void applyImpl() throws ConfigurationException, IOException
+ protected Collection<RowMutation> applyImpl() throws ConfigurationException, IOException
{
- MigrationHelper.dropColumnFamily(ksName, cfName, timestamp);
+ return MigrationHelper.dropColumnFamily(ksName, cfName, timestamp);
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/DropKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/DropKeyspace.java b/src/java/org/apache/cassandra/db/migration/DropKeyspace.java
index c6e200e..0fd8cb9 100644
--- a/src/java/org/apache/cassandra/db/migration/DropKeyspace.java
+++ b/src/java/org/apache/cassandra/db/migration/DropKeyspace.java
@@ -19,10 +19,12 @@
package org.apache.cassandra.db.migration;
import java.io.IOException;
+import java.util.Collection;
import org.apache.cassandra.config.ConfigurationException;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.db.RowMutation;
public class DropKeyspace extends Migration
{
@@ -39,9 +41,9 @@ public class DropKeyspace extends Migration
this.name = name;
}
- protected void applyImpl() throws ConfigurationException, IOException
+ protected Collection<RowMutation> applyImpl() throws ConfigurationException, IOException
{
- MigrationHelper.dropKeyspace(name, timestamp);
+ return MigrationHelper.dropKeyspace(name, timestamp);
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/Migration.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/Migration.java b/src/java/org/apache/cassandra/db/migration/Migration.java
index 762fec3..faf6784 100644
--- a/src/java/org/apache/cassandra/db/migration/Migration.java
+++ b/src/java/org/apache/cassandra/db/migration/Migration.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.db.migration;
import java.io.IOException;
import java.nio.ByteBuffer;
+import java.util.Collection;
import java.util.UUID;
import org.slf4j.Logger;
@@ -63,27 +64,36 @@ public abstract class Migration
public final void apply() throws ConfigurationException, IOException
{
- applyImpl();
+ Collection<RowMutation> mutations = applyImpl();
+
+ assert !mutations.isEmpty();
if (!StorageService.instance.isClientMode())
MigrationHelper.flushSchemaCFs();
Schema.instance.updateVersion();
+ announce(mutations);
}
/**
* Class specific apply implementation where schema migration logic should be put
*
+ * @return mutations to update native schema
+ *
* @throws IOException on any I/O related error.
* @throws ConfigurationException if there is object misconfiguration.
*/
- protected abstract void applyImpl() throws ConfigurationException, IOException;
+ protected abstract Collection<RowMutation> applyImpl() throws ConfigurationException, IOException;
- /** Send schema update (in form of row mutations) to alive nodes in the cluster. apply() must be called first. */
- public final void announce()
+ /**
+ * Send schema update (in form of row mutations) to alive nodes in the cluster.
+ *
+ * @param mutations to distribute in the cluster
+ */
+ private void announce(Collection<RowMutation> mutations)
{
assert !StorageService.instance.isClientMode();
- MigrationManager.announce(SystemTable.serializeSchema());
+ MigrationManager.announce(mutations);
passiveAnnounce(); // keeps gossip in sync w/ what we just told everyone
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/MigrationHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/MigrationHelper.java b/src/java/org/apache/cassandra/db/migration/MigrationHelper.java
index d6a498e..c8d94da 100644
--- a/src/java/org/apache/cassandra/db/migration/MigrationHelper.java
+++ b/src/java/org/apache/cassandra/db/migration/MigrationHelper.java
@@ -19,11 +19,7 @@ package org.apache.cassandra.db.migration;
import java.io.IOException;
import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.Future;
import com.google.common.collect.Iterables;
@@ -194,9 +190,9 @@ public class MigrationHelper
/* Schema Mutation Helpers */
- public static void addKeyspace(KSMetaData ksm, long timestamp) throws ConfigurationException, IOException
+ public static Collection<RowMutation> addKeyspace(KSMetaData ksm, long timestamp) throws ConfigurationException, IOException
{
- addKeyspace(ksm, timestamp, true);
+ return addKeyspace(ksm, timestamp, true);
}
public static void addKeyspace(KSMetaData ksDef) throws ConfigurationException, IOException
@@ -204,9 +200,9 @@ public class MigrationHelper
addKeyspace(ksDef, -1, false);
}
- public static void addColumnFamily(CFMetaData cfm, long timestamp) throws ConfigurationException, IOException
+ public static Collection<RowMutation> addColumnFamily(CFMetaData cfm, long timestamp) throws ConfigurationException, IOException
{
- addColumnFamily(cfm, timestamp, true);
+ return addColumnFamily(cfm, timestamp, true);
}
public static void addColumnFamily(CfDef cfDef) throws ConfigurationException, IOException
@@ -226,9 +222,9 @@ public class MigrationHelper
updateKeyspace(newState, -1, false);
}
- public static void updateKeyspace(KsDef newState, long timestamp) throws ConfigurationException, IOException
+ public static Collection<RowMutation> updateKeyspace(KsDef newState, long timestamp) throws ConfigurationException, IOException
{
- updateKeyspace(newState, timestamp, true);
+ return updateKeyspace(newState, timestamp, true);
}
public static void updateColumnFamily(CfDef newState) throws ConfigurationException, IOException
@@ -236,9 +232,9 @@ public class MigrationHelper
updateColumnFamily(newState, -1, false);
}
- public static void updateColumnFamily(CfDef newState, long timestamp) throws ConfigurationException, IOException
+ public static Collection<RowMutation> updateColumnFamily(CfDef newState, long timestamp) throws ConfigurationException, IOException
{
- updateColumnFamily(newState, timestamp, true);
+ return updateColumnFamily(newState, timestamp, true);
}
public static void dropColumnFamily(String ksName, String cfName) throws IOException
@@ -246,9 +242,9 @@ public class MigrationHelper
dropColumnFamily(ksName, cfName, -1, false);
}
- public static void dropColumnFamily(String ksName, String cfName, long timestamp) throws IOException
+ public static Collection<RowMutation> dropColumnFamily(String ksName, String cfName, long timestamp) throws IOException
{
- dropColumnFamily(ksName, cfName, timestamp, true);
+ return dropColumnFamily(ksName, cfName, timestamp, true);
}
public static void dropKeyspace(String ksName) throws IOException
@@ -256,14 +252,14 @@ public class MigrationHelper
dropKeyspace(ksName, -1, false);
}
- public static void dropKeyspace(String ksName, long timestamp) throws IOException
+ public static Collection<RowMutation> dropKeyspace(String ksName, long timestamp) throws IOException
{
- dropKeyspace(ksName, timestamp, true);
+ return dropKeyspace(ksName, timestamp, true);
}
/* Migration Helper implementations */
- private static void addKeyspace(KSMetaData ksm, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
+ private static Collection<RowMutation> addKeyspace(KSMetaData ksm, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
{
RowMutation keyspaceDef = ksm.toSchema(timestamp);
@@ -274,17 +270,24 @@ public class MigrationHelper
if (!StorageService.instance.isClientMode())
Table.open(ksm.name);
+
+ return toCollection(keyspaceDef);
}
- private static void addColumnFamily(CFMetaData cfm, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
+ private static Collection<RowMutation> addColumnFamily(CFMetaData cfm, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
{
KSMetaData ksm = Schema.instance.getTableDefinition(cfm.ksName);
ksm = KSMetaData.cloneWith(ksm, Iterables.concat(ksm.cfMetaData().values(), Collections.singleton(cfm)));
Schema.instance.load(cfm);
+ RowMutation mutation = null;
+
if (withSchemaRecord)
- cfm.toSchema(timestamp).apply();
+ {
+ mutation = cfm.toSchema(timestamp);
+ mutation.apply();
+ }
// make sure it's init-ed w/ the old definitions first,
// since we're going to call initCf on the new one manually
@@ -294,15 +297,19 @@ public class MigrationHelper
if (!StorageService.instance.isClientMode())
Table.open(ksm.name).initCf(cfm.cfId, cfm.cfName);
+
+ return toCollection(mutation);
}
- private static void updateKeyspace(KsDef newState, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
+ private static Collection<RowMutation> updateKeyspace(KsDef newState, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
{
KSMetaData oldKsm = Schema.instance.getKSMetaData(newState.name);
+ RowMutation schemaUpdate = null;
+
if (withSchemaRecord)
{
- RowMutation schemaUpdate = oldKsm.diff(newState, timestamp);
+ schemaUpdate = oldKsm.diff(newState, timestamp);
schemaUpdate.apply();
}
@@ -312,15 +319,19 @@ public class MigrationHelper
if (!StorageService.instance.isClientMode())
Table.open(newState.name).createReplicationStrategy(newKsm);
+
+ return toCollection(schemaUpdate);
}
- private static void updateColumnFamily(CfDef newState, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
+ private static Collection<RowMutation> updateColumnFamily(CfDef newState, long timestamp, boolean withSchemaRecord) throws ConfigurationException, IOException
{
CFMetaData cfm = Schema.instance.getCFMetaData(newState.keyspace, newState.name);
+ RowMutation schemaUpdate = null;
+
if (withSchemaRecord)
{
- RowMutation schemaUpdate = cfm.diff(newState, timestamp);
+ schemaUpdate = cfm.diff(newState, timestamp);
schemaUpdate.apply();
}
@@ -331,9 +342,11 @@ public class MigrationHelper
Table table = Table.open(cfm.ksName);
table.getColumnFamilyStore(cfm.cfName).reload();
}
+
+ return toCollection(schemaUpdate);
}
- private static void dropKeyspace(String ksName, long timestamp, boolean withSchemaRecord) throws IOException
+ private static Collection<RowMutation> dropKeyspace(String ksName, long timestamp, boolean withSchemaRecord) throws IOException
{
KSMetaData ksm = Schema.instance.getTableDefinition(ksName);
String snapshotName = Table.getTimestampedSnapshotName(ksName);
@@ -352,18 +365,23 @@ public class MigrationHelper
}
}
+ Collection<RowMutation> mutations = Collections.emptyList();
+
if (withSchemaRecord)
{
- for (RowMutation m : ksm.dropFromSchema(timestamp))
+ mutations = ksm.dropFromSchema(timestamp);
+ for (RowMutation m : mutations)
m.apply();
}
// remove the table from the static instances.
Table.clear(ksm.name);
Schema.instance.clearTableDefinition(ksm);
+
+ return mutations;
}
- private static void dropColumnFamily(String ksName, String cfName, long timestamp, boolean withSchemaRecord) throws IOException
+ private static Collection<RowMutation> dropColumnFamily(String ksName, String cfName, long timestamp, boolean withSchemaRecord) throws IOException
{
KSMetaData ksm = Schema.instance.getTableDefinition(ksName);
ColumnFamilyStore cfs = Table.open(ksName).getColumnFamilyStore(cfName);
@@ -374,14 +392,21 @@ public class MigrationHelper
Schema.instance.purge(cfm);
Schema.instance.setTableDefinition(makeNewKeyspaceDefinition(ksm, cfm));
+ RowMutation mutation = null;
+
if (withSchemaRecord)
- cfm.dropFromSchema(timestamp).apply();
+ {
+ mutation = cfm.dropFromSchema(timestamp);
+ mutation.apply();
+ }
if (!StorageService.instance.isClientMode())
{
cfs.snapshot(Table.getTimestampedSnapshotName(cfs.columnFamily));
Table.open(ksm.name).dropCf(cfm.cfId);
}
+
+ return toCollection(mutation);
}
private static KSMetaData makeNewKeyspaceDefinition(KSMetaData ksm, CFMetaData toExclude)
@@ -392,4 +417,9 @@ public class MigrationHelper
assert newCfs.size() == ksm.cfMetaData().size() - 1;
return KSMetaData.cloneWith(ksm, newCfs);
}
+
+ private static Collection<RowMutation> toCollection(RowMutation mutation)
+ {
+ return mutation == null ? Collections.<RowMutation>emptyList() : Collections.singleton(mutation);
+ }
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java b/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
index 77d014f..7852e33 100644
--- a/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
+++ b/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
@@ -18,9 +18,11 @@
package org.apache.cassandra.db.migration;
import java.io.IOException;
+import java.util.Collection;
import org.apache.cassandra.config.ConfigurationException;
import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.db.RowMutation;
import org.apache.cassandra.thrift.CfDef;
public class UpdateColumnFamily extends Migration
@@ -37,9 +39,9 @@ public class UpdateColumnFamily extends Migration
this.newState = newState;
}
- protected void applyImpl() throws ConfigurationException, IOException
+ protected Collection<RowMutation> applyImpl() throws ConfigurationException, IOException
{
- MigrationHelper.updateColumnFamily(newState, timestamp);
+ return MigrationHelper.updateColumnFamily(newState, timestamp);
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java b/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java
index 86968be..c529bb9 100644
--- a/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java
+++ b/src/java/org/apache/cassandra/db/migration/UpdateKeyspace.java
@@ -18,9 +18,11 @@
package org.apache.cassandra.db.migration;
import java.io.IOException;
+import java.util.Collection;
import org.apache.cassandra.config.ConfigurationException;
import org.apache.cassandra.config.Schema;
+import org.apache.cassandra.db.RowMutation;
import org.apache.cassandra.thrift.KsDef;
public class UpdateKeyspace extends Migration
@@ -40,11 +42,11 @@ public class UpdateKeyspace extends Migration
this.newState = newState;
}
- protected void applyImpl() throws ConfigurationException, IOException
+ protected Collection<RowMutation> applyImpl() throws ConfigurationException, IOException
{
- MigrationHelper.updateKeyspace(newState, timestamp);
-
+ Collection<RowMutation> mutations = MigrationHelper.updateKeyspace(newState, timestamp);
logger.info("Keyspace updated. Please perform any manual operations.");
+ return mutations;
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbb1b77/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 4e141b4..2503315 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -920,7 +920,6 @@ public class CassandraServer implements Cassandra.Iface
public void runMayThrow() throws Exception
{
m.apply();
- m.announce();
}
});