cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-11401) [Regression] Incorrect results for clustering tuples query
Date Tue, 22 Mar 2016 18:31:25 GMT

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

Tyler Hobbs edited comment on CASSANDRA-11401 at 3/22/16 6:30 PM:
------------------------------------------------------------------

This is related to CASSANDRA-7281.  The 3.4 behavior is actually the correct behavior, logically.
 If you ignore the order that Cassandra stores the rows on disk, you can see that logically
speaking, 3.3 returns incorrect results.  For example, {{(00000000-0000-0000-0000-000000000000,
'2015-10-01 00:00:00+0000')}} is returned, despite being less than your minimum bound of {{(00000000-0000-0000-0000-000000000000,
'2015-10-02 00:00:00+0000')}}.  The fix in CASSANDRA-7281 changed the behavior from always
executing a single contiguous slice (even if it would return incorrect results) to performing
multiple slices if necessary in order to return the correct logical results.

EDIT: I meant CASSANDRA-7281, not CASSANDRA-7821


was (Author: thobbs):
This is related to CASSANDRA-7821.  The 3.4 behavior is actually the correct behavior, logically.
 If you ignore the order that Cassandra stores the rows on disk, you can see that logically
speaking, 3.3 returns incorrect results.  For example, {{(00000000-0000-0000-0000-000000000000,
'2015-10-01 00:00:00+0000')}} is returned, despite being less than your minimum bound of {{(00000000-0000-0000-0000-000000000000,
'2015-10-02 00:00:00+0000')}}.  The fix in CASSANDRA-7821 changed the behavior from always
executing a single contiguous slice (even if it would return incorrect results) to performing
multiple slices if necessary in order to return the correct logical results.

> [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)

Mime
View raw message