[ 
https://issues.apache.org/jira/browse/CASSANDRA-11401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15206860#comment-15206860
 ] 

DOAN DuyHai commented on CASSANDRA-11401:
-----------------------------------------

bq. If you ignore the order that Cassandra stores the rows on disk, you can see 
that logically speaking, 3.3 returns incorrect results

 The problem is that I have designed the table with DESC clustering order for 
the {{date}} column. Also the {{SELECT * FROM entity_with_clusterings;}} is 
showing the result as Cassandra stores data on disk, which is consistent with 
the defined clustering order:

{noformat}
 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
{noformat}

 So if the SELECT returns the above result, logically, all clustering tuples 
(uuid, date) >= {{(00....000, 2015-10-02 00:00:00+0000)}} should be {{val2}}, 
{{val1}}, {{val5}} and {{val4}} and exactly in this order ...

 The trick is that the ordering is done on the couple {{(uuid,date)}} and 
neither {{uuid}} nor {{date}} alone ...

 My problem here is that if you say that *Cassandra 3.4* is returning the 
correct result, then it is not consistent with what is displayed by {{SELECT * 
...}} 

 

> [Regression] Incorrect results for clustering tuples query
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-11401
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11401
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>         Environment: *Cassandra 3.4*
>            Reporter: DOAN DuyHai
>            Priority: Critical
>
> There is a regression since *Cassandra 3.4* with query using clustering tuple 
> values:
> {noformat}
> 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
> {noformat}
> The same query with *Cassandra 3.3* returns correct answer:
> {noformat}
> 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
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to