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

3.0 paging states are incompatible with pre-3.0 nodes

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: 3.0.0 rc1
    • Component/s: Legacy/CQL
    • Labels:
      None
    • Severity:
      Normal

      Description

      When running the upgrade dtest TestCQL.static_columns_with_distinct_test, the client appears to be passing in an invalid paging state (no cell name). Instead of catching the problem in validation and returning an error to the client, the select statement tries to run it, causing this exception:

      ERROR QueryMessage.java:135 - Unexpected error during query
      java.lang.ClassCastException: org.apache.cassandra.db.composites.Composites$EmptyComposite cannot be cast to org.apache.cassandra.db.composites.CellName
      	at org.apache.cassandra.service.pager.SliceQueryPager.<init>(SliceQueryPager.java:64) ~[main/:na]
      	at org.apache.cassandra.service.pager.MultiPartitionPager.makePager(MultiPartitionPager.java:93) ~[main/:na]
      	at org.apache.cassandra.service.pager.MultiPartitionPager.<init>(MultiPartitionPager.java:75) ~[main/:na]
      	at org.apache.cassandra.service.pager.QueryPagers.pager(QueryPagers.java:102) ~[main/:na]
      	at org.apache.cassandra.service.pager.QueryPagers.pager(QueryPagers.java:126) ~[main/:na]
      	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:228) ~[main/:na]
      	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:67) ~[main/:na]
      	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:238) ~[main/:na]
      	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:260) ~[main/:na]
      	at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:122) ~[main/:na]
      	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439) [main/:na]
      	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335) [main/:na]
      	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_40]
      	at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) [main/:na]
      	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [main/:na]
      	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
      

      Running

       UPGRADE_MODE=none nosetests upgrade_tests/cql_tests.py:TestCQL.static_columns_with_distinct_test

      should cause the error.

        Attachments

          Activity

            People

            • Assignee:
              slebresne Sylvain Lebresne
              Reporter:
              bdeggleston Blake Eggleston
              Authors:
              Sylvain Lebresne
              Reviewers:
              Benjamin Lerer
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: