Не удается избавиться от надгробий в cassandra 2.1.8 с помощью (STCS) SizeTieredCompactionStrategy

У меня есть кластер cassandra (2.1.8) с 3 узлами, на котором я запускаю приложение, используя titan db (v0.5.4). Объем данных очень мал (‹20 МБ), но поскольку мой вариант использования требует время от времени удаления, у меня уже есть проблемы с надгробиями. Не могу избавиться от уже созданных надгробий. Решения, которые я пробовал:

  • снижение gc_grace для указанной таблицы graphindex до 60 сек.
  • запустить сброс nodetool
  • запустить восстановление nodetool
  • для таблицы titan.graphindex задайте параметры уплотнения как {'class': 'SizeTieredCompactionStrategy', 'unchecked_tombstone_compaction': 'true', 'tombstone_compaction_interval': '0', 'tombstone_threshold': '0.1'};
  • запуск forceUserDefinedCompaction из jmx.

В результате статистика немного снизилась, но Среднее количество надгробий на срез и Максимальное количество надгробий на срез по-прежнему неудовлетворительны:

Table: graphindex
    **SSTable count: 1**
    Space used (live): 661873
    Space used (total): 661873
    Space used by snapshots (total): 0
    Off heap memory used (total): 6544
    SSTable Compression Ratio: 0.6139286819777781
    Number of keys (estimate): 4082
    Memtable cell count: 0
    Memtable data size: 0
    Memtable off heap memory used: 0
    Memtable switch count: 15
    Local read count: 25983
    Local read latency: 0.931 ms
    Local write count: 23610
    Local write latency: 0.057 ms
    Pending flushes: 0
    Bloom filter false positives: 0
    Bloom filter false ratio: 0.00000
    Bloom filter space used: 5208
    Bloom filter off heap memory used: 5200
    Index summary off heap memory used: 1248
    Compression metadata off heap memory used: 96
    Compacted partition minimum bytes: 43
    Compacted partition maximum bytes: 152321
    Compacted partition mean bytes: 203
    Average live cells per slice (last five minutes): 728.4188892737559
    Maximum live cells per slice (last five minutes): 4025.0
    **Average tombstones per slice (last five minutes): 317.34938228841935**
    **Maximum tombstones per slice (last five minutes): 8031.0**

Есть ли возможность удалить все надгробия? Заранее спасибо за любое предложение.


person Krzysztof Genge    schedule 24.11.2015    source источник


Ответы (1)


Проблема решена.

Оказалось, что информация о статистике вводит в заблуждение, так как «Среднее количество надгробий на срез (последние пять минут)» и «Максимальное количество надгробий на срез (последние пять минут)» и, вероятно, статистика живых клеток не учитывается за последние 5 минут. это написано nodetool cfstats. Но они рассчитываются с момента запуска узла. Мои ноды работали несколько месяцев, поэтому, хотя надгробия были очищены, я не мог заметить большой разницы, так как масштаб дней с уже высокими статистическими значениями был очень большим. После того, как я перезапустил узлы, статистика прояснилась, и я увидел, что сжатие вступило в силу.

Жаль, что мне было так трудно найти информацию об этой ошибке в статистическом описании (https://issues.apache.org/jira/browse/CASSANDRA-7731)

Надеюсь, что это может помочь кому-то получить эту информацию раньше.

person Krzysztof Genge    schedule 03.12.2015