Cassandra中的SASI索引似乎有一些错误
我刚开始在Cassandra 3.7.0上使用SASI索引,我遇到了一个问题,我怀疑这是一个bug。我几乎没有找到bug出现的情况,以下是我的发现: 当使用SASI索引进行查询时,可能会错误地返回0行,并且稍微改变一些条件,它会再次工作,如以下CQL代码所示:Cassandra中的SASI索引似乎有一些错误,cassandra,secondary-indexes,Cassandra,Secondary Indexes,我刚开始在Cassandra 3.7.0上使用SASI索引,我遇到了一个问题,我怀疑这是一个bug。我几乎没有找到bug出现的情况,以下是我的发现: 当使用SASI索引进行查询时,可能会错误地返回0行,并且稍微改变一些条件,它会再次工作,如以下CQL代码所示: CREATE TABLE IF NOT EXISTS roles ( name text, a int, b int, PRIMARY KEY ((name, a), b) ) WITH CLUSTERIN
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' };
注意,我只将表角色2从表角色的按(b DESC)'聚类顺序更改为按(b ASC)'聚类顺序
当使用statement
select*from roles2进行查询时,您可能应该在OSS C*JIRA上将其作为JIRA票据归档@RussS我只是想确定这是一个bug,而不是我在某些地方搞砸了。我会接受你的建议,谢谢。看来@Qiuzd将此作为提交给了以后遇到问题的人。(我刚刚经历了同样的错误,最后来到了这里)。
name | a | b
------+---+---
Joe | 1 | 1
Joe | 2 | 2
(2 rows)
name | a | b
------+---+---
(0 rows)