Если я удаляю каждый ключи в ColumnFamily в использовании дб Cassandra remove(key)
, затем, если я использую get_range_slices
, строки все еще там, но без столбцов. Как я мог удалить все строки?
У меня была такая же проблема, и я обнаружил, что:
Это было исправлено в 0.7 (https://issues.apache.org/jira/browse/CASSANDRA-1027). И перенесено в 0.6.3
Это также актуально: https://issues.apache.org/jira/browse/CASSANDRA-494
Почему удаленные ключи появляются во время сканирования диапазона?
Поскольку get_range_slice говорит: «примените этот предикат к заданному диапазону строк», что означает, что если результат предиката пуст, мы должны включить пустой результат для этого ключ строки. Совершенно допустимо выполнить такой запрос, возвращающий пустые списки столбцов для некоторых или всех ключей, даже если удаление не было выполнено.
Я протестировал с cassandra 0.63, и проблема осталась прежней. Я не думаю, что это исправление предназначено для избавления от идентификаторов удаленных рядов. Смотрите
http://wiki.apache.org/cassandra/FAQ#range_ghosts
для получения дополнительной информации.