KafkaStreams KTable уплотнение - PullRequest
0 голосов
/ 23 мая 2019

В моем приложении почти все значения входящих записей обнуляются (засыпаны гробницей) в течение нескольких секунд, однако я не вижу, что происходит сжатие, поскольку размер RocksDB не уменьшается и в него все еще входят миллионы записей

  • Когда я перебираю хранилище состояний с помощью итератора keyValue, я вижу, что 99% значений равны нулю (надгробия)
  • В каждом хранилище состояний содержится около 500 миллионов записей, из-за чего итерация занимает около часа
  • Я вижу, что эти записи не удаляются даже после нескольких дней (ожидание до 2 дней). Никаких новых входных записей не отправляется во время тестирования, так что это просто старые записи, висящие вокруг
  • Я бы хотел, чтобы нулевые записи активно очищались, чтобы в StateStore были в основном активные записи

Я использовал RocksDBConfigSetter и установил compactionStyle как level :

options.setCompactionStyle(CompactionStyle.LEVEL);

Пожалуйста, дайте мне знать, если что-нибудь еще можно сделать, чтобы вызвать частое уплотнение

Ожидаемый результат: Нулевые записи должны быть удалены как минимум за несколько часов

...