infer org.apache.cassandra.locator for replication strategy classes when not otherwise specified

patch by jbellis

git-svn-id: https://svn.apache.org/repos/asf/cassandra/branches/cassandra-0.7@1044012 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jonathan Ellis 2010-12-09 15:53:09 +00:00
parent 0cc38e95a8
commit fe9762db20
5 changed files with 16 additions and 13 deletions

View File

@ -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)

View File

@ -42,12 +42,10 @@ import org.apache.avro.ipc.AvroRemoteException;
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.AddColumnFamily;
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 Cassandra {
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 Cassandra {
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));

View File

@ -261,7 +261,13 @@ public abstract class AbstractReplicationStrategy
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");
}
}

View File

@ -42,7 +42,6 @@ import org.apache.cassandra.config.ConfigurationException;
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.AddKeyspace;
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.IRequestScheduler;
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 Cassandra.Iface
}
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 Cassandra.Iface
{
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));

View File

@ -50,6 +50,7 @@ import org.apache.cassandra.db.marshal.AbstractType;
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;