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.

Reply via email to