Hi,
When I upgraded from 0.8.2 to 0.8.3 I encountered a exception during startup:
...
Caused by: org.apache.cassandra.config.ConfigurationException:
replication_factor is an option for SimpleStrategy, not
NetworkTopologyStrategy
at
org.apache.cassandra.locator.NetworkTopologyStrategy.<init>(NetworkTopologyStrategy.java:70)
...
This was caused by the following change:
---
cassandra/trunk/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
2011/07/18
13:32:48 1147869
+++
cassandra/trunk/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
2011/08/02
17:07:22 1153200
@@ -67,7 +67,7 @@
{
String dc = entry.getKey();
if (dc.equalsIgnoreCase("replication_factor"))
- continue; // TODO remove this for 1.0
+ throw new
ConfigurationException("replication_factor is an option for
SimpleStrategy, not NetworkTopologyStrategy");
Integer replicas = Integer.valueOf(entry.getValue());
newDatacenters.put(dc, replicas);
}
To solve it use the 'cassandra-cli' on one of the other "up" nodes:
[default@unknown] describe keyspace TestKeyspace;
WARNING: Could not connect to the JMX on 127.0.0.3:7199, information
won't be shown.
Keyspace: TestKeyspace:
Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
Durable Writes: true
Options: [replication_factor:2]
...
default@unknown] update keyspace TestKeyspace with
strategy_options=[{datacenter:2}];
47035d20-c2ca-11e0-0000-de5e2f7aa3bf
Waiting for schema agreement...
... schemas agree across the cluster
[default@unknown] describe keyspace TestKeyspace;
Keyspace: TestKeyspace:
Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
Durable Writes: true
Options: [datacenter:2]
Then restart the 0.8.3 node and it should be fine.
Regards,
-Martin