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

[Regression] Incorrect results for clustering tuples query

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Urgent
    • Resolution: Not A Problem
    • None
    • Legacy/CQL
    • None
    • Cassandra 3.4

    • Critical

    Description

      There is a regression since Cassandra 3.4 with query using clustering tuple values:

      cqlsh:test> CREATE TABLE IF NOT EXISTS entity_with_clusterings(
      		id bigint,
      		uuid uuid,
      		date timestamp,
      		value text,
      		PRIMARY KEY(id, uuid, date))
      WITH CLUSTERING ORDER BY(uuid ASC, date DESC);
      
      cqlsh:test> INSERT INTO entity_with_clusterings(id, uuid, date, value) VALUES(3233835834146573312, 00000000-0000-0000-0000-000000000000, '2015-10-01 00:00:00+0000', 'val1');
      cqlsh:test> INSERT INTO entity_with_clusterings(id, uuid, date, value) VALUES(3233835834146573312, 00000000-0000-0000-0000-000000000000, '2015-10-02 00:00:00+0000', 'val2');
      cqlsh:test> INSERT INTO entity_with_clusterings(id, uuid, date, value) VALUES(3233835834146573312, 00000000-0000-0000-0000-000000000000, '2015-10-03 00:00:00+0000', 'val3');
      cqlsh:test> INSERT INTO entity_with_clusterings(id, uuid, date, value) VALUES(3233835834146573312, 00000000-0000-0000-0000-000000000001, '2015-10-04 00:00:00+0000', 'val4');
      cqlsh:test> INSERT INTO entity_with_clusterings(id, uuid, date, value) VALUES(3233835834146573312, 00000000-0000-0000-0000-000000000001, '2015-10-05 00:00:00+0000', 'val5');
      
      cqlsh:test> SELECT * FROM entity_with_clusterings;
      
       id                  | uuid                                 | date                     | value
      ---------------------+--------------------------------------+--------------------------+-------
       3233835834146573312 | 00000000-0000-0000-0000-000000000000 | 2015-10-03 00:00:00+0000 |  val3
       3233835834146573312 | 00000000-0000-0000-0000-000000000000 | 2015-10-02 00:00:00+0000 |  val2
       3233835834146573312 | 00000000-0000-0000-0000-000000000000 | 2015-10-01 00:00:00+0000 |  val1
       3233835834146573312 | 00000000-0000-0000-0000-000000000001 | 2015-10-05 00:00:00+0000 |  val5
       3233835834146573312 | 00000000-0000-0000-0000-000000000001 | 2015-10-04 00:00:00+0000 |  val4
      
      (5 rows)
      
      cqlsh:test > SELECT uuid,date,value 
      FROM entity_with_clusterings 
      WHERE id=3233835834146573312 
      AND (uuid,date)>=(00000000-0000-0000-0000-000000000000,'2015-10-02 00:00:00+0000') 
      AND (uuid,date)<(00000000-0000-0000-0000-000000000001, '2015-10-04 00:00:00+0000');
      
       uuid                                 | date                            | value
      --------------------------------------+---------------------------------+-------
       00000000-0000-0000-0000-000000000000 | 2015-10-03 00:00:00.000000+0000 |  val3
       00000000-0000-0000-0000-000000000000 | 2015-10-02 00:00:00.000000+0000 |  val2
      

      The same query with Cassandra 3.3 returns correct answer:

      cqlsh:test> SELECT uuid,date,value
      FROM entity_with_clusterings
      WHERE id=3233835834146573312
      AND (uuid,date)>=(00000000-0000-0000-0000-000000000000,'2015-10-02 00:00:00+0000')
      AND (uuid,date)<(00000000-0000-0000-0000-000000000001, '2015-10-04 00:00:00+0000');
      
       uuid                                 | date                     | value
      --------------------------------------+--------------------------+-------
       00000000-0000-0000-0000-000000000000 | 2015-10-02 00:00:00+0000 |  val2
       00000000-0000-0000-0000-000000000000 | 2015-10-01 00:00:00+0000 |  val1
       00000000-0000-0000-0000-000000000001 | 2015-10-05 00:00:00+0000 |  val5
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            doanduyhai DuyHai Doan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: