Невозможно удалить ячейки надгробий в Cassandra

мы используем одноузловой кластер Cassandra для экспериментов, и одна проблема, с которой мы сталкиваемся сейчас, - это надгробные ячейки. Каждая строка содержит 2 ячейки надгробия, и мы застреваем в попытках удалить их. Они вызывают прерывание наших запросов, так как порог надгробий достигается довольно быстро.

Это результат трассировки при чтении одной строки: Прочитать 1 активную строку и 2 надгробные ячейки [ReadStage-2]

Я пытался использовать сборщик мусора nodetool с правильной опцией -g (CELL или ROW ) но никогда не менял. Почему ячейки надгробия не удаляются после выполнения этой команды? Я также пробовал команду flush ...

Версии:

Версия Cassandra: 3.11.2 Версия Thrift API: 20.1.0 Поддерживаемые версии CQL: 3.4.4 (по умолчанию: 3.4.4)

Ошибка следующая:

WARN [ReadStage-2] 2018-08-06 12:26: 29,269 ReadCommand.java:555 - Прочитано 50000 живых строк и 100001 ячеек захоронения для запроса SELECT * FROM mykeyspace.mytable ГДЕ myid> 1025493673608400896 И токен (collectionid, ttype)> = token (10, собранный) И токен (collectionid, ttype) <= token (10, собранный) LIMIT 1000 (см. Tombstone_warn_threshold) ОШИБКА [ReadStage-2] 2018-08-06 12:26: 29,272 StorageProxy.java:1906 - Просканировано более 100001 надгробия во время запроса SELECT * FROM mykeyspace.mytable WHERE myid> 1025493673608400896 AND token (collectionid, ttype)> = token ( 10, собрано) AND token (collectionid, ttype) <= token (10, connected) LIMIT 1000 '(ключ раздела последней отсканированной строки был ((10, собран), 1025494834679873536)); запрос прерван

Что мне не хватает в сборщике мусора C *? Любая помощь в прояснении этого поведения была бы замечательной! Спасибо.

0
задан 6 August 2018 в 15:32
1 ответ

Tombstone были правильно собраны мусором, но gc соблюдает значение gc_grace_seconds, установленное для семейства столбцов (по умолчанию 10 дней). После изменения таблицы с помощью следующей команды cqlsh:

изменить таблицу mykeyspace.mytable на gc_grace_seconds = 0; надгробия были полностью удалены.

Для уверенности, но, возможно, в этом нет необходимости, я снова запускаю nodetool garbagecollector и nodetool compact для этой таблицы.

1
ответ дан 4 December 2019 в 15:52

Теги

Похожие вопросы