You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ju...@apache.org on 2009/11/19 23:22:50 UTC
svn commit: r882334 - in
/incubator/cassandra/trunk/src/java/org/apache/cassandra:
client/RingCache.java service/StorageService.java
Author: junrao
Date: Thu Nov 19 22:22:50 2009
New Revision: 882334
URL: http://svn.apache.org/viewvc?rev=882334&view=rev
Log:
RingCache code breaks; patch by junrao, reviewed by jbellis for issue 566
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/client/RingCache.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/client/RingCache.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/client/RingCache.java?rev=882334&r1=882333&r2=882334&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/client/RingCache.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/client/RingCache.java Thu Nov 19 22:22:50 2009
@@ -90,16 +90,8 @@
}
TokenMetadata tokenMetadata = new TokenMetadata(tokenEndpointMap);
- Class cls = DatabaseDescriptor.getReplicaPlacementStrategyClass();
- Class [] parameterTypes = new Class[] { TokenMetadata.class, IPartitioner.class, int.class, int.class};
- try
- {
- nodePicker_ = (AbstractReplicationStrategy) cls.getConstructor(parameterTypes).newInstance(tokenMetadata, partitioner_, DatabaseDescriptor.getReplicationFactor(), port_);
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
+ nodePicker_ = StorageService.getReplicationStrategy(tokenMetadata, partitioner_);
+
break;
}
catch (TException e)
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=882334&r1=882333&r2=882334&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Thu Nov 19 22:22:50 2009
@@ -232,19 +232,26 @@
MessagingService.instance().registerVerbHandlers(streamInitiateDoneVerbHandler_, new Streaming.StreamInitiateDoneVerbHandler());
MessagingService.instance().registerVerbHandlers(streamFinishedVerbHandler_, new Streaming.StreamFinishedVerbHandler());
+ replicationStrategy_ = getReplicationStrategy(tokenMetadata_, partitioner_);
+ }
+
+ public static AbstractReplicationStrategy getReplicationStrategy(TokenMetadata tokenMetadata, IPartitioner partitioner)
+ {
+ AbstractReplicationStrategy replicationStrategy = null;
Class<AbstractReplicationStrategy> cls = DatabaseDescriptor.getReplicaPlacementStrategyClass();
Class [] parameterTypes = new Class[] { TokenMetadata.class, IPartitioner.class, int.class};
try
{
Constructor<AbstractReplicationStrategy> constructor = cls.getConstructor(parameterTypes);
- replicationStrategy_ = constructor.newInstance(tokenMetadata_, partitioner_, DatabaseDescriptor.getReplicationFactor());
+ replicationStrategy = constructor.newInstance(tokenMetadata, partitioner, DatabaseDescriptor.getReplicationFactor());
}
catch (Exception e)
{
throw new RuntimeException(e);
}
+ return replicationStrategy;
}
-
+
public void start() throws IOException
{
storageMetadata_ = SystemTable.initMetadata();