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] [Commented] (CASSANDRA-12420) Duplicated Key in IN clause with a small fetch size will run forever
Date Thu, 18 Aug 2016 20:42:20 GMT

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

Tyler Hobbs commented on CASSANDRA-12420:
-----------------------------------------

I've confirmed this is reproduceable in 2.1 with the following:

{noformat}
cqlsh> create keyspace ks1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor':
'1' };
cqlsh> use ks1;
cqlsh:ks1> create table foo (a int, b int, c int, d int, PRIMARY KEY ((a, b), c));
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 0, 0);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 1, 1);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 2, 2);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 3, 3);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 4, 4);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 5, 5);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 6, 6);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 7, 7);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 8, 8);
cqlsh:ks1> insert into foo (a, b, c, d) VALUES (1, 1, 9, 9);
cqlsh:ks1> PAGING 5;
cqlsh:ks1> SELECT * FROM foo WHERE a = 1 AND b IN (1, 1, 1);

 a | b | c | d
---+---+---+---
 1 | 1 | 0 | 0
 1 | 1 | 1 | 1
 1 | 1 | 2 | 2
 1 | 1 | 3 | 3
 1 | 1 | 4 | 4
 
---MORE---ยท
 a | b | c | d
---+---+---+---
 1 | 1 | 5 | 5
 1 | 1 | 6 | 6
 1 | 1 | 7 | 7
 1 | 1 | 8 | 8
 1 | 1 | 9 | 9
 
---MORE---
 a | b | c | d
---+---+---+---
 1 | 1 | 0 | 0
 1 | 1 | 1 | 1
 1 | 1 | 2 | 2
 1 | 1 | 3 | 3
 1 | 1 | 4 | 4
 
---MORE---
 a | b | c | d
---+---+---+---
 1 | 1 | 5 | 5
 1 | 1 | 6 | 6
 1 | 1 | 7 | 7
 1 | 1 | 8 | 8
 1 | 1 | 9 | 9

... (repeats endlessly)
{noformat}

This does not reproduce in 2.2.

This is somewhat different from CASSANDRA-8276, which was just complaining about duplicate
result rows when duplicate {{IN}} values are used.  The real problem here is that the paged
results never end.

> Duplicated Key in IN clause with a small fetch size will run forever
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-12420
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12420
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: cassandra 2.1.14, driver 2.1.7.1
>            Reporter: ZhaoYang
>            Assignee: ZhaoYang
>         Attachments: CASSANDRA-12420.patch
>
>
> This can be easily reproduced and fetch size is smaller than the correct number of rows.
> A table has 2 partition key, 1 clustering key, 1 column.
> >        Select select = QueryBuilder.select().from("ks", "cf");
> >        select.where().and(QueryBuilder.eq("a", 1));
> >        select.where().and(QueryBuilder.in("b", Arrays.asList(1, 1, 1)));
> >        select.setFetchSize(5);
> Now we put a distinct method in client side to eliminate the duplicated key, but it's
better to fix inside Cassandra.



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

Mime
View raw message