Распределение временных меток строки SSTables испорчено TWCS - PullRequest
0 голосов
/ 09 мая 2018

Мы работаем с Cassandra 2.1.14 и перешли на TWCS на одном из наших CF несколько месяцев назад, и с тех пор, несмотря на то, что производительность и скорость чтения SSTables за запрос резко сократились, мы заметили, что старые SSTables никогда не выселяются.

Запустив утилиту Cassandra sstableexpiredblockers, мы видим причину того, что максимальная временная метка старого SSTabes выше, чем даже минимальная временная метка нового SSTable, что означает, что Cassandra не будет пытаться выселить, даже если фактические SSTables полностью захоронены (мы написали крошечное Java-приложение, которое прошел через SSTable напрямую, чтобы убедиться).

Итак, вопрос - почему даже у очень новых SSTables есть старые строки? Просто чтобы уточнить: наша кодовая база НИКОГДА не обновляет строки, а ВСЕ строки имеют TTL.

Другой вопрос, учитывая, что это наша текущая ситуация, есть ли простой способ заставить Кассандру выселить старых SSTables?

Прилагается SSTables и их минимальная / максимальная отметка времени:

enter image description here

1 Ответ

0 голосов
/ 25 мая 2018

Итак, мы обнаружили, что основной причиной проблемы является восстановление чтения и умозрительная повторная попытка. отключив их и запустив основное сжатие один раз, чтобы удалить устаревшие SSTable, и все заработало как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...