Кассандра иногда пропускает записи в запросе SELECT - PullRequest
0 голосов
/ 17 мая 2019

Моя настройка:

  • cassandra 1.2.19
  • один кластер центра данных с 4 узлами
  • NetworkTopologyStrategy с коэффициентом репликации 3
  • Уровень согласованности записей в БД установлен на LOCAL_QUORUM

Я пытаюсь перебрать все записи в данной таблице, и я делаю это с помощью некоторого унаследованного кода приложения, который извлекает данные партиями с последовательнымвыберите запросы этого типа:

SELECT * FROM records WHERE TOKEN(partition_key) > last_partition_key_of_previous_batch LIMIT 1000;

Проблема в том, что иногда некоторые записи пропускаются.Я также заметил, что эти пропущенные записи старые, добавленные несколько месяцев назад в базу данных.

Все запросы на выбор выполняются с уровнем согласованности ONE.

Возможно ли, что в этом причина?

Из того, что я понял об уровнях согласованности, когда уровень согласованности для чтения равен ONE, только один узел запрашивается для выполнения запроса.

Возможно ли, что иногда узел, который выполняет запрос, не содержит всех записей, и поэтому иногда некоторые записи отсутствуют?

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