Author: jbellis
Date: Tue May 10 15:18:32 2011
New Revision: 1101501
URL: http://svn.apache.org/viewvc?rev=1101501&view=rev
Log:
extract validateReplicationFactor & handle non-numeric RF attempts
patch by jbellis
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/OldNetworkTopologyStrategy.java
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/SimpleStrategy.java
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java?rev=1101501&r1=1101500&r2=1101501&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
Tue May 10 15:18:32 2011
@@ -289,4 +289,19 @@ public abstract class AbstractReplicatio
String className = cls.contains(".") ? cls :
"org.apache.cassandra.locator." + cls;
return FBUtilities.classForName(className, "replication strategy");
}
+
+ protected void validateReplicationFactor(String rf) throws
ConfigurationException
+ {
+ try
+ {
+ if (Integer.parseInt(rf) < 0)
+ {
+ throw new ConfigurationException("Replication factor must be
non-negative; found " + rf);
+ }
+ }
+ catch (NumberFormatException e2)
+ {
+ throw new ConfigurationException("Replication factor must be
numeric; found " + rf);
+ }
+ }
}
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java?rev=1101501&r1=1101500&r2=1101501&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
Tue May 10 15:18:32 2011
@@ -146,13 +146,9 @@ public class NetworkTopologyStrategy ext
public void validateOptions() throws ConfigurationException
{
- for (Entry<String,String> e : this.configOptions.entrySet())
+ for (Entry<String, String> e : this.configOptions.entrySet())
{
- int rf = Integer.parseInt(e.getValue());
- if (rf < 0)
- {
- throw new ConfigurationException("Replication factor for NTS
must be non-negative. dc: " +e.getKey()+", rf: "+rf);
- }
+ validateReplicationFactor(e.getValue());
}
}
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/OldNetworkTopologyStrategy.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/OldNetworkTopologyStrategy.java?rev=1101501&r1=1101500&r2=1101501&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/OldNetworkTopologyStrategy.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/OldNetworkTopologyStrategy.java
Tue May 10 15:18:32 2011
@@ -111,18 +111,10 @@ public class OldNetworkTopologyStrategy
public void validateOptions() throws ConfigurationException
{
- if (this.configOptions == null)
+ if (configOptions == null || configOptions.get("replication_factor")
== null)
{
- throw new ConfigurationException("OldNetworkTopologyStrategy
requires a replication_factor strategy option.");
- }
- if (this.configOptions.get("replication_factor") == null)
- {
- throw new ConfigurationException("OldNetworkTopologyStrategy
requires a replication_factor strategy option.");
- }
- int rf =
Integer.parseInt(this.configOptions.get("replication_factor"));
- if (rf < 0)
- {
- throw new ConfigurationException("Replication factor for
OldNetworkTopologyStrategy must be non-negative, "+rf+" given.");
+ throw new ConfigurationException("SimpleStrategy requires a
replication_factor strategy option.");
}
+ validateReplicationFactor(configOptions.get("replication_factor"));
}
}
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/SimpleStrategy.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/SimpleStrategy.java?rev=1101501&r1=1101500&r2=1101501&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/SimpleStrategy.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/SimpleStrategy.java
Tue May 10 15:18:32 2011
@@ -70,18 +70,10 @@ public class SimpleStrategy extends Abst
public void validateOptions() throws ConfigurationException
{
- if (this.configOptions == null)
+ if (configOptions == null || configOptions.get("replication_factor")
== null)
{
throw new ConfigurationException("SimpleStrategy requires a
replication_factor strategy option.");
}
- if (this.configOptions.get("replication_factor") == null)
- {
- throw new ConfigurationException("SimpleStrategy requires a
replication_factor strategy option.");
- }
- int rf =
Integer.parseInt(this.configOptions.get("replication_factor"));
- if (rf < 0)
- {
- throw new ConfigurationException("Replication factor for
SimpleStrategy must be non-negative, "+rf+" given.");
- }
+ validateReplicationFactor(configOptions.get("replication_factor"));
}
}