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

java.lang.AssertionError are causing cql responses to always go to streamId = 0 instead of the request sending streamId

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 1.2.19, 2.0.10, 2.1 rc4
    • Legacy/CQL
    • CQL native interface

    • Low

    Description

      When triggering an unexpected assertion like the one below then then the ExecuteMessage.java is catching that and generates a response with a streamId = 0.
      When sending multiple queries at the same time on different streams this makes it impossible to know which of those queries failed.

      ERROR [Native-Transport-Requests:455] 2014-06-27 02:20:38,484 ErrorMessage.java (line 222) Unexpected exception during request
      java.lang.AssertionError: Added column does not sort as the last column
      at org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:115)
      at org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116)
      at org.apache.cassandra.service.pager.AbstractQueryPager.discardHead(AbstractQueryPager.java:319)
      at org.apache.cassandra.service.pager.AbstractQueryPager.discardLast(AbstractQueryPager.java:301)
      at org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:219)
      at org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:202)
      at org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:124)
      at org.apache.cassandra.service.pager.SliceQueryPager.fetchPage(SliceQueryPager.java:35)
      at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:232)
      at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
      at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:158)
      at org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:309)
      at org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:132)
      at org.apache.cassandra.transport.Message$Dispatcher.messageReceived(Message.java:304)
      at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
      at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

      Attachments

        1. letz.patch
          1 kB
          Dominic Letz
        2. 7470.txt
          0.7 kB
          Tom Hobbs

        Activity

          People

            thobbs Tom Hobbs
            dominicletz Dominic Letz
            Tom Hobbs
            Aleksey Yeschenko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: