[ https://issues.apache.org/jira/browse/CASSANDRA-4420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-4420: -------------------------------------- Fix Version/s: 1.1.3 Assignee: Pavel Yaskevich > Possible schema corruption with cql 3.0 > --------------------------------------- > > Key: CASSANDRA-4420 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4420 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 1.1.2 > Environment: Lenny Squeeze > Reporter: bert Passek > Assignee: Pavel Yaskevich > Fix For: 1.1.3 > > > Hi, > i've got some problems while creating schemas with cql 3.0. After that i > can't even start cassandra anymore. > Following steps for reproduction were done on a new installation of cassandra: > 1. simply create a keyspace test via "cqlsh -3" > create keyspace test with strategy_class = 'SimpleStrategy' and > strategy_options:replication_factor = 1; > 2. add cf with composite columns via "cqlsh -3" > create table test1 ( > a int, > b int, > c int, > d int, > primary key (a, b, c) > ); > 3. drop column family > drop columnfamily test1; > So until now everything went fine. Now i'm trying to insert a slightly > modified column family with the same name above. > 4. create new cf via "cqlsh -3" > create table test1 ( > a int, > b int, > c int, > primary key (a, b) > ); > This creation fails with following exception: > java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 > at java.util.ArrayList.RangeCheck(ArrayList.java:547) > at java.util.ArrayList.get(ArrayList.java:322) > at > org.apache.cassandra.config.CFMetaData.getColumnDefinitionComparator(CFMetaData.java:1280) > at > org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:256) > at > org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1293) > at > org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1225) > at > org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:294) > at > org.apache.cassandra.config.KSMetaData.fromSchema(KSMetaData.java:275) > at org.apache.cassandra.db.DefsTable.loadFromTable(DefsTable.java:158) > at > org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:535) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:182) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) > Now at this point you can't do anything anymore via cql or cli. Shutting down > and starting cassandra again throws same exceptions: > ERROR 14:48:41,705 Exception encountered during startup > java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 > at java.util.ArrayList.RangeCheck(ArrayList.java:547) > at java.util.ArrayList.get(ArrayList.java:322) > at > org.apache.cassandra.config.CFMetaData.getColumnDefinitionComparator(CFMetaData.java:1280) > at > org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:256) > at > org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1293) > at > org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1225) > at > org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:294) > at > org.apache.cassandra.config.KSMetaData.fromSchema(KSMetaData.java:275) > at org.apache.cassandra.db.DefsTable.loadFromTable(DefsTable.java:158) > at > org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:535) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:182) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) > java.lang.IndexOutOfBoundsException: Index: 2, Size: 2Exception encountered > during startup: Index: 2, Size: 2 > at java.util.ArrayList.RangeCheck(ArrayList.java:547) > at java.util.ArrayList.get(ArrayList.java:322) > at > org.apache.cassandra.config.CFMetaData.getColumnDefinitionComparator(CFMetaData.java:1280) > at > org.apache.cassandra.config.ColumnDefinition.fromSchema(ColumnDefinition.java:256) > at > org.apache.cassandra.config.CFMetaData.addColumnDefinitionSchema(CFMetaData.java:1293) > at > org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1225) > at > org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:294) > at > org.apache.cassandra.config.KSMetaData.fromSchema(KSMetaData.java:275) > at org.apache.cassandra.db.DefsTable.loadFromTable(DefsTable.java:158) > at > org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:535) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:182) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) > Actually it's the result of a slightly different problem in combination with > composite columns, but i will describe this later. > I've got no idea, what the problem is, there might be some corruption in > table schemas, even after dropping tables. > I have to delete cassandra data in order to get cassandra running again. > Best Regards > Bert Passek -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira