CLI command create keyspace can destroy the schema
--------------------------------------------------
Key: CASSANDRA-1633
URL: https://issues.apache.org/jira/browse/CASSANDRA-1633
Project: Cassandra
Issue Type: Bug
Components: API
Affects Versions: 0.7 beta 2
Environment: NetBSD methusalix.pas-un-geek-en-tant-que-tel.ch 5.99.39
NetBSD 5.99.39 (GENERIC) #2: Sun Oct 10 00:40:52 CEST 2010
[email protected]:/usr/obj/sys/arch/amd64/compile/GENERIC
amd64
OpenJDK Runtime Environment (build 1.7.0-internal-pkgsrc_2010_06_24_02_32-b00)
OpenJDK 64-Bit Server VM (build 18.0-b04, mixed mode)
Reporter: Tonnerre Lombard
When trying to create a keyspace through the cli, wrong parameters can break
the schema and make the database unusable.
[defa...@unknown] create keyspace foo with placement_strategy =
'org.apache.cassandra.locator.NetworkTopologyStrategy' and replication_factor =
2
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
[defa...@unknown] create keyspace foo with placement_strategy =
'org.apache.cassandra.locator.NetworkTopologyStrategy' and replication_factor =
1
Keyspace already exists.
[defa...@unknown] drop keyspace foo
Exception null
[defa...@unknown]
>From the cassandra log:
ERROR [GC inspection] 2010-10-20 01:00:44,403 AbstractCassandraDaemon.java
(line 88) Fatal exception in thread Thread[GC inspection,5,main]
java.lang.reflect.UndeclaredThrowableException
at $Proxy5.getActiveCount(Unknown Source)
at
org.apache.cassandra.service.GCInspector.logThreadPoolStats(GCInspector.java:156)
at
org.apache.cassandra.service.GCInspector.logIntervalGCStats(GCInspector.java:136)
at
org.apache.cassandra.service.GCInspector.access$000(GCInspector.java:39)
at org.apache.cassandra.service.GCInspector$1.run(GCInspector.java:93)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Caused by: javax.management.AttributeNotFoundException: No such attribute:
ActiveCount
at
com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:81)
at
com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:204)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:668)
at
javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:280)
... 7 more
ERROR [MIGRATION_STAGE:1] 2010-10-20 01:00:44,417 AbstractCassandraDaemon.java
(line 88) Fatal exception in thread Thread[MIGRATION_STAGE:1,5,main]
java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
at
org.apache.cassandra.service.StorageService.createReplicationStrategy(StorageService.java:287)
at
org.apache.cassandra.service.StorageService.initReplicationStrategy(StorageService.java:262)
at
org.apache.cassandra.config.DatabaseDescriptor.setTableDefinition(DatabaseDescriptor.java:1006)
at
org.apache.cassandra.db.migration.AddKeyspace.applyModels(AddKeyspace.java:74)
at org.apache.cassandra.db.migration.Migration.apply(Migration.java:157)
at
org.apache.cassandra.thrift.CassandraServer$1.call(CassandraServer.java:645)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:717)
Caused by: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
at
org.apache.cassandra.locator.AbstractReplicationStrategy.createReplicationStrategy(AbstractReplicationStrategy.java:241)
at
org.apache.cassandra.service.StorageService.createReplicationStrategy(StorageService.java:277)
... 10 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:531)
at
org.apache.cassandra.locator.AbstractReplicationStrategy.createReplicationStrategy(AbstractReplicationStrategy.java:237)
... 11 more
Caused by: java.lang.NullPointerException
at
org.apache.cassandra.locator.NetworkTopologyStrategy.<init>(NetworkTopologyStrategy.java:62)
... 16 more
After that, the server won't start anymore:
Exception encountered during startup.
java.lang.NullPointerException
at
org.apache.cassandra.io.sstable.IndexSummary.complete(IndexSummary.java:60)
at
org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:270)
at
org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:173)
at
org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:157)
at
org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:334)
at
org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:322)
at org.apache.cassandra.db.Table.initCf(Table.java:301)
at org.apache.cassandra.db.Table.<init>(Table.java:249)
at org.apache.cassandra.db.Table.open(Table.java:102)
at org.apache.cassandra.db.SystemTable.checkHealth(SystemTable.java:142)
at
org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:99)
at
org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:54)
at
org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:201)
at
org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:133)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.