The replication factor for a keyspace is stored in the
system.schema_keyspaces column family.
Since you can't view this with cli as the server won't start, the only
way to look at it, that i know of is to use the
sstable2json tool on the *.db file for that column family...
So for instance on my machine i do
./sstable2json
/var/lib/cassandra/data/system/schema_keyspaces/system-schema_keyspaces-ia-1-Data.db
and get
{
"7374726573735f6b73": [["durable_writes","true",1968197311980145],
["name","stress_ks",1968197311980145],
["strategy_class","org.apache.cassandra.locator.SimpleStrategy",1968197311980145],
["strategy_options","{\"replication_factor\":\"3\"}",1968197311980145]]
It's likely you don't have a entry from replication_factor.
Theoretically i suppose you could embellish the output, and use
json2sstable to fix it, but I have no experience here, and would get the
blessings of datastax fellas, before proceeding.
On 05/15/2012 07:02 PM, Casey Deccio wrote:
Sorry to reply to my own message (again). I took a closer look at the
logs and realized that the partitioner errors aren't what kept the
daemon to stop; those errors are in the logs even before I upgraded.
This one seems to be the culprit.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:160)
Caused by: java.lang.RuntimeException:
org.apache.cassandra.config.ConfigurationException: SimpleStrategy
requires a replication_factor strategy option.
at org.apache.cassandra.db.Table.<init>(Table.java:275)
at org.apache.cassandra.db.Table.open(Table.java:114)
at org.apache.cassandra.db.Table.open(Table.java:97)
at
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:204)
at
org.apache.cassandra.service.AbstractCassandraDaemon.init(AbstractCassandraDaemon.java:254)
... 5 more
Caused by: org.apache.cassandra.config.ConfigurationException:
SimpleStrategy requires a replication_factor strategy option.
at
org.apache.cassandra.locator.SimpleStrategy.validateOptions(SimpleStrategy.java:71)
at
org.apache.cassandra.locator.AbstractReplicationStrategy.createReplicationStrategy(AbstractReplicationStrategy.java:218)
at
org.apache.cassandra.db.Table.createReplicationStrategy(Table.java:295)
at org.apache.cassandra.db.Table.<init>(Table.java:271)
... 9 more
Cannot load daemon
I'm not sure how to check the replication_factor and/or update it
without using cassandra-cli, which requires the daemon to be running.
Casey