Cassandra 物化视图显示陈旧数据

Cassandra materialized view shows stale data

我正在试用 Cassandra 3.0 alpha 以了解物化视图的工作原理,并遵循显示的示例 here

当从基础 table 中删除整个分区时,该示例有效,但是当我删除单个聚集行时,它继续出现在物化视图中。在基础 table 中删除的行不应该也从视图中消失吗?

例如:

CREATE TABLE base (part int, clus int , val int, PRIMARY KEY (part, clus));
CREATE MATERIALIZED VIEW view1 AS SELECT part FROM base WHERE part IS NOT NULL AND clus IS NOT NULL AND val IS NOT NULL PRIMARY KEY (val, part, clus);
INSERT INTO base (part, clus, val) VALUES ( 1, 2, 200 );
INSERT INTO base (part, clus, val) VALUES ( 1, 3, 300 );

SELECT * FROM view1;

 val | part | clus
-----+------+------
 200 |    1 |    2
 300 |    1 |    3

然后我只删除其中一行:

DELETE FROM base WHERE part=1 and clus=3;

现在我期待 val=300 从视图中消失,但它没有:

SELECT * FROM view1;

 val | part | clus
-----+------+------
 200 |    1 |    2
 300 |    1 |    3

接下来,如果我删除整个分区,我之前删除的集群行会留在视图中:

DELETE FROM base WHERE part=1;

SELECT * from base;

 clus | part | val
------+------+-----

SELECT * FROM view1;

 val | part | clus
-----+------+------
 300 |    1 |    3

我猜这是 alpha 版本中的错误,但我想确保这不是预期的行为。我是否应该能够删除单独的集群行并看到它反映在物化视图中?

我正在使用这个版本:

nodetool version
ReleaseVersion: 3.0.0-alpha1-SNAPSHOT

谢谢。

删除和更新都应根据“Cassandra 3.0 materialised views in action”传播到视图。