【发布时间】:2014-09-20 00:46:05
【问题描述】:
我最近遇到了这个问题。当我将表(称为事件和索引)填充到超过 100 万个并尝试截断它们以进行新测试时,截断后表不为空。 CQL 显示类似
cqlsh> select count(*) from event limit 100000000;
count
---------
2033492
cqlsh> truncate event;
cqlsh> select count(*) from event limit 100000000;
count
-------
25
(1 rows)
cqlsh> select count(*) from event limit 100000000;
count
-------
27
(1 rows)
cqlsh> select count(*) from event limit 100000000;
count
-------
34
(1 rows)
cqlsh> select event_id, dateOf(time_token), unixTimestampOf(time_token), writetime(time_token) from event limit 100000000;
event_id | dateOf(time_token) | unixTimestampOf(time_token) | writetime(time_token)
--------------------------------------+--------------------------+-----------------------------+-----------------------
567c4f2b-c86a-4663-a8ec-50f70d183b62 | 2014-07-22 22:29:04-0400 | 1406082544416 | 1406082544416000
20a2f9e7-cdcb-4c2d-93e7-a646d0910e6b | 2014-07-22 15:12:29-0400 | 1406056349772 | 1406056349774000
... ...
0d983cec-4ba5-4df8-ada8-eb347add57bf | 2014-07-22 22:20:53-0400 | 1406082053926 | 1406082053930000
(34 rows)
cqlsh>
在“truncate”命令之后,“select count(*)”返回的数字快速变化,稳定在 34。为了确保当时没有其他程序插入记录,我运行了一个 CQL 语句显示所有记录创建于 7 月 22 日或 23 日,也就是 4 - 5 天前。
我尝试了几次“truncate”命令,结果都是一样的。
这发生在 2 个环境中。第一个环境是在我的笔记本电脑上,我使用 localhost IP(127.0.0.2、127.0.0.3 和 127.0.0.4)创建了 3 个 Cassandra 实例集群,而第二个环境是 3 节点 Cassandra 集群,每个节点都在一个单独的 Linux CentOS 上6.5机。我正在使用 Cassandra 2.0.6。
有人可以帮我弄清楚发生了什么吗?提前致谢。
【问题讨论】: