[jira] [Updated] (CASSANDRA-12223) SASI Indexes querying incorrectly return 0 rows
[ https://issues.apache.org/jira/browse/CASSANDRA-12223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-12223: Resolution: Fixed Fix Version/s: (was: 3.7) 3.10 Status: Resolved (was: Patch Available) Committed. Thanks, [~ifesdjeen]! > SASI Indexes querying incorrectly return 0 rows > --- > > Key: CASSANDRA-12223 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12223 > Project: Cassandra > Issue Type: Bug > Components: sasi > Environment: Windows, DataStax Distribution >Reporter: Qiu Zhida >Assignee: Alex Petrov > Fix For: 3.10 > > > I just started working with the SASI index on Cassandra 3.7.0 and I > encountered a problem which as I suspected was a bug. I had hardly tracked > down the situation in which the bug showed up, here is what I found: > When querying with a SASI index, *it may incorrectly return 0 rows*, and > changing a little conditions, it works again, like the following CQL code: > {code:title=CQL|borderStyle=solid} > CREATE TABLE IF NOT EXISTS roles ( > name text, > a int, > b int, > PRIMARY KEY ((name, a), b) > ) WITH CLUSTERING ORDER BY (b DESC); > > insert into roles (name,a,b) values ('Joe',1,1); > insert into roles (name,a,b) values ('Joe',2,2); > insert into roles (name,a,b) values ('Joe',3,3); > insert into roles (name,a,b) values ('Joe',4,4); > CREATE TABLE IF NOT EXISTS roles2 ( > name text, > a int, > b int, > PRIMARY KEY ((name, a), b) > ) WITH CLUSTERING ORDER BY (b ASC); > > insert into roles2 (name,a,b) values ('Joe',1,1); > insert into roles2 (name,a,b) values ('Joe',2,2); > insert into roles2 (name,a,b) values ('Joe',3,3); > insert into roles2 (name,a,b) values ('Joe',4,4); > CREATE CUSTOM INDEX ON roles (b) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { 'mode': 'SPARSE' }; > CREATE CUSTOM INDEX ON roles2 (b) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { 'mode': 'SPARSE' }; > {code} > Noticing that I only change table *roles2* from table *roles*'s '*CLUSTERING > ORDER BY (b DESC)*' into '*CLUSTERING ORDER BY (b ASC)*'. > When querying with statement +select * from roles2 where b<3+, the rusult is > two rows: > {code:title=CQL|borderStyle=solid} > name | a | b > --+---+--- > Joe | 1 | 1 > Joe | 2 | 2 > (2 rows) > {code} > However, if querying with +select * from roles where b<3+, it returned no > rows at all: > {code:title=CQL|borderStyle=solid} > name | a | b > --+---+--- > (0 rows) > {code} > This is not the only situation where the bug would show up, one time I > created a SASI index with specific name like 'end_idx' on column 'end', the > bug showed up, when I didn't specify the index name, it gone. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12223) SASI Indexes querying incorrectly return 0 rows
[ https://issues.apache.org/jira/browse/CASSANDRA-12223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-12223: Reviewer: Pavel Yaskevich > SASI Indexes querying incorrectly return 0 rows > --- > > Key: CASSANDRA-12223 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12223 > Project: Cassandra > Issue Type: Bug > Components: sasi > Environment: Windows, DataStax Distribution >Reporter: Qiu Zhida >Assignee: Alex Petrov > Fix For: 3.7 > > > I just started working with the SASI index on Cassandra 3.7.0 and I > encountered a problem which as I suspected was a bug. I had hardly tracked > down the situation in which the bug showed up, here is what I found: > When querying with a SASI index, *it may incorrectly return 0 rows*, and > changing a little conditions, it works again, like the following CQL code: > {code:title=CQL|borderStyle=solid} > CREATE TABLE IF NOT EXISTS roles ( > name text, > a int, > b int, > PRIMARY KEY ((name, a), b) > ) WITH CLUSTERING ORDER BY (b DESC); > > insert into roles (name,a,b) values ('Joe',1,1); > insert into roles (name,a,b) values ('Joe',2,2); > insert into roles (name,a,b) values ('Joe',3,3); > insert into roles (name,a,b) values ('Joe',4,4); > CREATE TABLE IF NOT EXISTS roles2 ( > name text, > a int, > b int, > PRIMARY KEY ((name, a), b) > ) WITH CLUSTERING ORDER BY (b ASC); > > insert into roles2 (name,a,b) values ('Joe',1,1); > insert into roles2 (name,a,b) values ('Joe',2,2); > insert into roles2 (name,a,b) values ('Joe',3,3); > insert into roles2 (name,a,b) values ('Joe',4,4); > CREATE CUSTOM INDEX ON roles (b) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { 'mode': 'SPARSE' }; > CREATE CUSTOM INDEX ON roles2 (b) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { 'mode': 'SPARSE' }; > {code} > Noticing that I only change table *roles2* from table *roles*'s '*CLUSTERING > ORDER BY (b DESC)*' into '*CLUSTERING ORDER BY (b ASC)*'. > When querying with statement +select * from roles2 where b<3+, the rusult is > two rows: > {code:title=CQL|borderStyle=solid} > name | a | b > --+---+--- > Joe | 1 | 1 > Joe | 2 | 2 > (2 rows) > {code} > However, if querying with +select * from roles where b<3+, it returned no > rows at all: > {code:title=CQL|borderStyle=solid} > name | a | b > --+---+--- > (0 rows) > {code} > This is not the only situation where the bug would show up, one time I > created a SASI index with specific name like 'end_idx' on column 'end', the > bug showed up, when I didn't specify the index name, it gone. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-12223) SASI Indexes querying incorrectly return 0 rows
[ https://issues.apache.org/jira/browse/CASSANDRA-12223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alex Petrov updated CASSANDRA-12223: Status: Patch Available (was: Open) This bug is related to the fact that reversed column is never checked. Fix is quite trivial. |[trunk|https://github.com/ifesdjeen/cassandra/tree/12223-trunk]|[dtest|https://cassci.datastax.com/job/ifesdjeen-12223-trunk-dtest/]|[testall|https://cassci.datastax.com/job/ifesdjeen-12223-trunk-dtest/]| > SASI Indexes querying incorrectly return 0 rows > --- > > Key: CASSANDRA-12223 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12223 > Project: Cassandra > Issue Type: Bug > Components: sasi > Environment: Windows, DataStax Distribution >Reporter: Qiu Zhida >Assignee: Alex Petrov > Fix For: 3.7 > > > I just started working with the SASI index on Cassandra 3.7.0 and I > encountered a problem which as I suspected was a bug. I had hardly tracked > down the situation in which the bug showed up, here is what I found: > When querying with a SASI index, *it may incorrectly return 0 rows*, and > changing a little conditions, it works again, like the following CQL code: > {code:title=CQL|borderStyle=solid} > CREATE TABLE IF NOT EXISTS roles ( > name text, > a int, > b int, > PRIMARY KEY ((name, a), b) > ) WITH CLUSTERING ORDER BY (b DESC); > > insert into roles (name,a,b) values ('Joe',1,1); > insert into roles (name,a,b) values ('Joe',2,2); > insert into roles (name,a,b) values ('Joe',3,3); > insert into roles (name,a,b) values ('Joe',4,4); > CREATE TABLE IF NOT EXISTS roles2 ( > name text, > a int, > b int, > PRIMARY KEY ((name, a), b) > ) WITH CLUSTERING ORDER BY (b ASC); > > insert into roles2 (name,a,b) values ('Joe',1,1); > insert into roles2 (name,a,b) values ('Joe',2,2); > insert into roles2 (name,a,b) values ('Joe',3,3); > insert into roles2 (name,a,b) values ('Joe',4,4); > CREATE CUSTOM INDEX ON roles (b) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { 'mode': 'SPARSE' }; > CREATE CUSTOM INDEX ON roles2 (b) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { 'mode': 'SPARSE' }; > {code} > Noticing that I only change table *roles2* from table *roles*'s '*CLUSTERING > ORDER BY (b DESC)*' into '*CLUSTERING ORDER BY (b ASC)*'. > When querying with statement +select * from roles2 where b<3+, the rusult is > two rows: > {code:title=CQL|borderStyle=solid} > name | a | b > --+---+--- > Joe | 1 | 1 > Joe | 2 | 2 > (2 rows) > {code} > However, if querying with +select * from roles where b<3+, it returned no > rows at all: > {code:title=CQL|borderStyle=solid} > name | a | b > --+---+--- > (0 rows) > {code} > This is not the only situation where the bug would show up, one time I > created a SASI index with specific name like 'end_idx' on column 'end', the > bug showed up, when I didn't specify the index name, it gone. -- This message was sent by Atlassian JIRA (v6.3.4#6332)