Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-7990

CompoundDenseCellNameType AssertionError and BoundedComposite to CellName ClasCastException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 2.1.1
    • None
    • None
    • Ubuntu, Java 1.7.0_67, Cassandra 2.1.0, cassandra-driver-core:jar:2.0.6

    • Low

    Description

      I just updated my laptop to Cassandra 2.1 and created a fresh data folder.

      When trying to run my automated tests i get a lot these exceptions in the Cassandra log:

      ERROR [SharedPool-Worker-1] 2014-09-23 12:59:17,812 ErrorMessage.java:218 - Unexpected exception during request
      java.lang.AssertionError: null
      	at org.apache.cassandra.db.composites.CompoundDenseCellNameType.create(CompoundDenseCellNameType.java:57) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.Constants$Setter.execute(Constants.java:313) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.statements.UpdateStatement.addUpdateForKey(UpdateStatement.java:91) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.statements.BatchStatement.addStatementMutations(BatchStatement.java:235) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.statements.BatchStatement.getMutations(BatchStatement.java:181) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.statements.BatchStatement.execute(BatchStatement.java:283) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.statements.BatchStatement.execute(BatchStatement.java:269) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.statements.BatchStatement.execute(BatchStatement.java:264) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:422) [apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318) [apache-cassandra-2.1.0.jar:2.1.0]
      	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [netty-all-4.0.20.Final.jar:4.0.20.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [netty-all-4.0.20.Final.jar:4.0.20.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31) [netty-all-4.0.20.Final.jar:4.0.20.Final]
      	at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323) [netty-all-4.0.20.Final.jar:4.0.20.Final]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_67]
      	at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163) [apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) [apache-cassandra-2.1.0.jar:2.1.0]
      	at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
      
      ERROR [Thrift:9] 2014-09-23 12:59:17,823 CustomTThreadPoolServer.java:219 - Error occurred during processing of message.
      java.lang.ClassCastException: org.apache.cassandra.db.composites.BoundedComposite cannot be cast to org.apache.cassandra.db.composites.CellName
      	at org.apache.cassandra.db.composites.AbstractCellNameType.cellFromByteBuffer(AbstractCellNameType.java:170) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.thrift.CassandraServer.deleteColumnOrSuperColumn(CassandraServer.java:936) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.thrift.CassandraServer.createMutationList(CassandraServer.java:860) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.thrift.CassandraServer.batch_mutate(CassandraServer.java:971) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.getResult(Cassandra.java:3996) ~[apache-cassandra-thrift-2.1.0.jar:2.1.0]
      	at org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.getResult(Cassandra.java:3980) ~[apache-cassandra-thrift-2.1.0.jar:2.1.0]
      	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) ~[libthrift-0.9.1.jar:0.9.1]
      	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) ~[libthrift-0.9.1.jar:0.9.1]
      	at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:201) ~[apache-cassandra-2.1.0.jar:2.1.0]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_67]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_67]
      	at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
      

      I cannot say what is causing these. So I am posting this as it is for now, hoping somebody already knows what the issue is.

      • Currently CQL and thrift is running side by side.
      • Many of the CQL tables use compact storage.

      I could dig deeper and try to isolate the cause if necessary.

      Attachments

        1. 7990-partial-fix.txt
          3 kB
          Tom Hobbs
        2. 7990.txt
          3 kB
          Tom Hobbs

        Issue Links

          Activity

            People

              thobbs Tom Hobbs
              christianmovi Christian Spriegel
              Tom Hobbs
              Sylvain Lebresne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: