Наскоро се сблъсках с този проблем. Когато попълних своите таблици (наречени събитие и индекс) на повече от 1 милион и се опитах да ги съкратя за нови тестове, таблиците не бяха празни след съкращаването. 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 израз, показващ, че всички записи са създадени на 22 или 23 юли, което е преди 4 - 5 дни.
Опитах командата "truncate" няколко пъти и резултатите бяха същите.
Това се случи в 2 среди. Първата среда е на моя лаптоп, където създадох 3 клъстера на екземпляри на Cassandra, използвайки IP адреси на локален хост (127.0.0.2, 127.0.0.3 и 127.0.0.4), докато втората среда е клъстер на Cassandra с 3 възела, като всеки възел е на отделен Linux CentOS 6.5 машина. Използвам Cassandra 2.0.6.
Може ли някой да ми помогне да разбера какво се случва? Благодаря предварително.