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

NPE on malformed CQL

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 0.8.8, 1.0.1
    • None
    • Normal

    Description

      It's not clear why, but the CQL grammar specification in Cql.g allows for an empty WHERE clause on DELETE, i.e.:

      DELETE FROM someCF WHERE;
      

      When this is used, with or without a column list, it causes an NPE on the node processing the CQL. Traceback on a recent 1.0.0 build:

      ERROR [pool-2-thread-1] 2011-10-11 15:45:25,655 Cassandra.java (line 4082) Internal error processing execute_cql_query
      java.lang.NullPointerException
              at org.apache.cassandra.cql.CqlParser.deleteStatement(CqlParser.java:1994)
              at org.apache.cassandra.cql.CqlParser.query(CqlParser.java:292)
              at org.apache.cassandra.cql.QueryProcessor.getStatement(QueryProcessor.java:984)
              at org.apache.cassandra.cql.QueryProcessor.process(QueryProcessor.java:500)
              at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1268)
              at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.process(Cassandra.java:4072)
              at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
              at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:680)
      

      The CQL client gets an error with the message, "Internal application error".

      It might be better to allow leaving off the "WHERE" as well as the condition, to match SQL semantics, although fixing that probably won't solve this problem.

      Attachments

        1. CASSANDRA-3349.patch
          0.9 kB
          Pavel Yaskevich

        Activity

          People

            xedin Pavel Yaskevich
            thepaul paul cannon
            Pavel Yaskevich
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: