Ondřej Černoš created CASSANDRA-5421: ----------------------------------------
Summary: java.lang.ArrayIndexOutOfBoundsException when cassandra started on hibernated virtual instance Key: CASSANDRA-5421 URL: https://issues.apache.org/jira/browse/CASSANDRA-5421 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 1.2.1 Reporter: Ondřej Černoš We have a cql3 table records: {noformat} CREATE TABLE records ( all varchar, record_id varchar, uid varchar, validity bigint, some_property int, PRIMARY KEY (all, record_id) ) WITH comment = 'Records'; {noformat} with an index: {noformat} CREATE INDEX tokens_uid_idx ON tokens (uid); {noformat} We stored a couple of values in the table before the weekend with TTL set to see if the records expire. The instance we tested the behaviour on was put to sleep during the weekend. We started the instance yesterday on 11:31:41,809 and at 13:57:28,195 we tried the following: {noformat} select * from tokens; {noformat} just to check the record were deleted on TTL. This is what we got: {noformat} TSocket read 0 bytes {noformat} We found the following exception in the log: {noformat} ERROR 13:57:28,195 Error occurred during processing of message. java.lang.ArrayIndexOutOfBoundsException: 1 at org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43) at org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31) at org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:128) at org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:804) at org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:146) at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:135) at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62) at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132) at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140) at org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1739) at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074) at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) {noformat} Second try raised the following error in {{cqlsh}}: {noformat} Traceback (most recent call last): File "bin/cqlsh", line 1001, in perform_statement_untraced self.cursor.execute(statement, decoder=decoder) File "bin/../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/cursor.py", line 80, in execute response = self.get_response(prepared_q, cl) File "bin/../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/thrifteries.py", line 77, in get_response return self.handle_cql_execution_errors(doquery, compressed_q, compress, cl) File "bin/../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/thrifteries.py", line 96, in handle_cql_execution_errors return executor(*args, **kwargs) File "bin/../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/cassandra/Cassandra.py", line 1782, in execute_cql3_query self.send_execute_cql3_query(query, compression, consistency) File "bin/../lib/cql-internal-only-1.4.0.zip/cql-1.4.0/cql/cassandra/Cassandra.py", line 1793, in send_execute_cql3_query self._oprot.trans.flush() File "bin/../lib/thrift-python-internal-only-0.7.0.zip/thrift/transport/TTransport.py", line 293, in flush self.__trans.write(buf) File "bin/../lib/thrift-python-internal-only-0.7.0.zip/thrift/transport/TSocket.py", line 117, in write plus = self.handle.send(buff) error: [Errno 32] Broken pipe {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira