Author: jbellis
Date: Thu Dec 9 15:53:09 2010
New Revision: 1044012
URL: http://svn.apache.org/viewvc?rev=1044012&view=rev
Log:
infer org.apache.cassandra.locator for replication strategy classes when not
otherwise specified
patch by jbellis
Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java
Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Dec 9 15:53:09 2010
@@ -1,8 +1,11 @@
dev
* expose getNaturalEndpoints in StorageServiceMBean taking byte[]
key; RMI cannot serialize ByteBuffer (CASSANDRA-1833)
+ * infer org.apache.cassandra.locator for replication strategy classes
+ when not otherwise specified
* validation that generates less garbage (CASSANDRA-1814)
+
0.7.0-rc2
* fix live-column-count of slice ranges including tombstoned supercolumn
with live subcolumn (CASSANDRA-1591)
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
Thu Dec 9 15:53:09 2010
@@ -42,12 +42,10 @@ import org.apache.avro.ipc.AvroRemoteExc
import org.apache.avro.util.Utf8;
import org.apache.cassandra.concurrent.Stage;
import org.apache.cassandra.db.migration.DropKeyspace;
-import org.apache.cassandra.db.migration.RenameKeyspace;
import org.apache.cassandra.db.migration.UpdateColumnFamily;
import org.apache.cassandra.db.migration.UpdateKeyspace;
import org.apache.cassandra.dht.*;
-import org.apache.cassandra.gms.Gossiper;
-import org.apache.cassandra.utils.FBUtilities;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,7 +64,6 @@ import org.apache.cassandra.db.migration
import org.apache.cassandra.db.migration.AddKeyspace;
import org.apache.cassandra.db.migration.DropColumnFamily;
import org.apache.cassandra.db.migration.Migration;
-import org.apache.cassandra.db.migration.RenameColumnFamily;
import org.apache.cassandra.locator.AbstractReplicationStrategy;
import org.apache.cassandra.scheduler.IRequestScheduler;
import org.apache.cassandra.service.ClientState;
@@ -646,7 +643,7 @@ public class CassandraServer implements
KSMetaData ksmeta = new KSMetaData(
ksDef.name.toString(),
-
FBUtilities.<AbstractReplicationStrategy>classForName(ksDef.strategy_class.toString(),
"keyspace replication strategy"),
+
AbstractReplicationStrategy.getClass(ksDef.strategy_class.toString()),
strategyOptions,
ksDef.replication_factor,
cfDefs.toArray(new CFMetaData[cfDefs.size()]));
@@ -738,7 +735,7 @@ public class CassandraServer implements
KSMetaData ksm = new KSMetaData(
ks_def.name.toString(),
- (Class<? extends AbstractReplicationStrategy>)
FBUtilities.<AbstractReplicationStrategy>classForName(ks_def.strategy_class.toString(),
"keyspace replication strategy"),
+
AbstractReplicationStrategy.getClass(ks_def.strategy_class.toString()),
strategyOptions,
ks_def.replication_factor);
applyMigrationOnStage(new UpdateKeyspace(ksm));
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
Thu Dec 9 15:53:09 2010
@@ -261,7 +261,13 @@ public abstract class AbstractReplicatio
Map<String, String> strategyOptions)
throws ConfigurationException
{
- Class<AbstractReplicationStrategy> c =
FBUtilities.<AbstractReplicationStrategy>classForName(strategyClassName,
"replication-strategy");
+ Class<AbstractReplicationStrategy> c = getClass(strategyClassName);
return createReplicationStrategy(table, c, tokenMetadata, snitch,
strategyOptions);
}
+
+ public static Class<AbstractReplicationStrategy> getClass(String cls)
throws ConfigurationException
+ {
+ String className = cls.contains(".") ? cls :
"org.apache.cassandra.locator." + cls;
+ return FBUtilities.classForName(className, "replication strategy");
+ }
}
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
Thu Dec 9 15:53:09 2010
@@ -42,7 +42,6 @@ import org.apache.cassandra.config.Confi
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.KSMetaData;
import org.apache.cassandra.db.ColumnFamily;
-import org.apache.cassandra.db.ColumnFamilyNotDefinedException;
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.ExpiringColumn;
@@ -60,8 +59,6 @@ import org.apache.cassandra.db.migration
import org.apache.cassandra.db.migration.DropColumnFamily;
import org.apache.cassandra.db.migration.DropKeyspace;
import org.apache.cassandra.db.migration.Migration;
-import org.apache.cassandra.db.migration.RenameColumnFamily;
-import org.apache.cassandra.db.migration.RenameKeyspace;
import org.apache.cassandra.db.migration.UpdateColumnFamily;
import org.apache.cassandra.db.migration.UpdateKeyspace;
import org.apache.cassandra.dht.AbstractBounds;
@@ -75,7 +72,6 @@ import org.apache.cassandra.scheduler.IR
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.StorageProxy;
import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.utils.FBUtilities;
import org.apache.thrift.TException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -767,7 +763,7 @@ public class CassandraServer implements
}
KSMetaData ksm = new KSMetaData(ks_def.name,
-
FBUtilities.<AbstractReplicationStrategy>classForName(ks_def.strategy_class,
"keyspace replication strategy"),
+
AbstractReplicationStrategy.getClass(ks_def.strategy_class),
ks_def.strategy_options,
ks_def.replication_factor,
cfDefs.toArray(new
CFMetaData[cfDefs.size()]));
@@ -826,7 +822,7 @@ public class CassandraServer implements
{
KSMetaData ksm = new KSMetaData(
ks_def.name,
-
FBUtilities.<AbstractReplicationStrategy>classForName(ks_def.strategy_class,
"keyspace replication strategy"),
+
AbstractReplicationStrategy.getClass(ks_def.strategy_class),
ks_def.strategy_options,
ks_def.replication_factor);
applyMigrationOnStage(new UpdateKeyspace(ksm));
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java
Thu Dec 9 15:53:09 2010
@@ -50,6 +50,7 @@ import org.apache.cassandra.db.marshal.A
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
+import org.apache.cassandra.locator.AbstractReplicationStrategy;
import org.apache.cassandra.locator.PropertyFileSnitch;
import org.apache.thrift.TBase;
import org.apache.thrift.TDeserializer;