Каталог Cassandra CommitLog забывает удалить файлы - PullRequest
0 голосов
/ 20 сентября 2019

Версия: DSE 6.7.5, CQL spec 3.4.5.
У меня есть 8GB commitlog_total_space_in_mb.
Папка в настоящее время на 13 ГБ.
Глядя на отметки даты в папке, кажется, что она забывает оcommitlogs или может быть не удается удалить commitlogs, когда он сбрасывает memtables.
Происходит на нескольких узлах.

-rw-r - r--.1 кассандра кассандра 33554338 20 сен. 02:00 CommitLog-600-1568892978830.log
-rw-r - r--.1 Кассандра Кассандра 33554227 20 сентября 02:02 CommitLog-600-1568892978853.log
-rw-r - r--.1 Кассандра Кассандра 33554217 20 сентября 02:02 CommitLog-600-1568892978862.log
-rw-r - r--.1 Кассандра Кассандра 33554337 20 сентября 02:03 CommitLog-600-1568892978863.log
-rw-r - r--.1 Кассандра Кассандра 33554169 20 сентября 02:04 CommitLog-600-1568892978864.log
-rw-r - r--.1 кассандра кассандра 33554412 20 сен. 08:19 CommitLog-600-1568892954896.log
-rw-r - r--.1 кассандра кассандра 33554326 20 сен. 08:19 CommitLog-600-1568892954901.log
-rw-r - r--.1 кассандра кассандра 33554133 20 сен. 08:20 CommitLog-600-1568892954904.log
-rw-r - r--.1 кассандра кассандра 33554281 20 сен. 08:20 CommitLog-600-1568892954905.log
-rw-r - r--.1 cassandra cassandra 33553885 Sep 20 08:20 CommitLog-600-1568892954906.log

Когда я выполняю очистку / сток для nodetool, он не удаляет ни один из старых файлов.

*1 022 * -rw-р - r--.1 кассандра кассандра 33554338 20 сентября 02:00 CommitLog-600-1568892978830.log
-rw-r - r--.1 Кассандра Кассандра 33554227 20 сентября 02:02 CommitLog-600-1568892978853.log
-rw-r - r--.1 Кассандра Кассандра 33554217 20 сен. 02:02 CommitLog-600-1568892978862.log
-rw-r - r--.1 кассандра кассандра 33554337 20 сен. 02:03 CommitLog-600-1568892978863.log
-rw-r - r--.1 Кассандра Кассандра 33554169 20 сентября 02:04 CommitLog-600-1568892978864.log
-rw-r - r--.1 cassandra cassandra 28 сентября 20 08:46 CommitLog-600-1568892981041.log

Когда я снова запускаю узел, он перебирает их и вылетает вокруг окончательного коммита.https://pastebin.com/Kw9Kee5C

CassandraDaemon.java:129 - Exception in thread Thread[PerDiskMemtableFlushWriter_0:11,5,main] java.lang.AssertionError: null


Он не запустится снова, если я не вытащу некоторые последние комлоги или их все.

Что я могу сделать, чтобы решить эту проблему

1 Ответ

0 голосов
/ 25 сентября 2019

В настоящее время я решил эту проблему, изменив сжатие на

compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}

По какой-то причине наличие типа ячейки карты со следующим уплотнением вызывало у меня ошибки.

{'class': 'org.apache.cassandra.db.compaction.TimeWindowCompactionStrategy', 'compaction_window_size': '30', 'compaction_window_unit': 'DAYS', 'max_threshold': '32', 'min_threshold': '4', 'split_during_flush': 'true'} 
...