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

Deleting an element from a List which is null throws a NPE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 2.1.5
    • None
    • None
    • Low

    Description

      I am seeing an NPE on the latest 2.1 branch with this sequence of deletes from a list - first delete the entire list, then attempt to delete one element.

      I expected to see List index 0 out of bound, list has size 0 but instead got an NPE.

      ./bin/cqlsh
      Connected to Test Cluster at 127.0.0.1:9042.
      [cqlsh 5.0.1 | Cassandra 2.1.3-SNAPSHOT | CQL spec 3.2.0 | Native protocol v3]
      Use HELP for help.
      cqlsh> use frozen_collections ;
      cqlsh:frozen_collections> DROP TABLE IF EXISTS t;
      cqlsh:frozen_collections> CREATE TABLE t (id text PRIMARY KEY, l list<text>, s set<text>);
      cqlsh:frozen_collections> INSERT INTO t (id, l, s) VALUES ('user', ['1'], {'1'});
      cqlsh:frozen_collections>
      cqlsh:frozen_collections> DELETE l FROM t WHERE id ='user';
      cqlsh:frozen_collections> //INSERT INTO t (id, l) VALUES ('user', ['1']);
      cqlsh:frozen_collections> DELETE l[0] FROM t WHERE id = 'user';
      ServerError: <ErrorMessage code=0000 [Server error] message="java.lang.NullPointerException">
      cqlsh:frozen_collections>
      cqlsh:frozen_collections> DELETE s FROM t WHERE id ='user';
      cqlsh:frozen_collections> DELETE s['1'] FROM t WHERE id = 'user';
      

      It appears the DELETE emails... directly followed by DELETE emails[0]... is the offending sequence. Either one alone works fine, as does adding an intervening insert/update.

      The same sequence performed on a Set rather than List works (as shown above).

      Attachments

        1. 9077-stacktrace.log
          4 kB
          dan jatnieks
        2. cassandra-9077-option1.txt
          1 kB
          Jeff Jirsa
        3. cassandra-9077-option2.txt
          0.8 kB
          Jeff Jirsa
        4. cassandra-9077-option1-v2.txt
          4 kB
          Jeff Jirsa
        5. CASSANDRA-9077-v3.txt
          5 kB
          Benjamin Lerer

        Activity

          People

            jjirsa Jeff Jirsa
            djatnieks dan jatnieks
            Jeff Jirsa
            Benjamin Lerer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: