Сколько времени займет удаление строки? - PullRequest
0 голосов
/ 28 июня 2018

У меня кластер кассандры с 2 узлами с RF = 2. Когда выдается оператор delete from x where y cql - известно ли, сколько времени потребуется всем узлам для удаления строки?

Что я вижу в одном из интеграционных тестов: Строка удаляется, результат удаления проверяется с помощью оператора select * from y where id = xxx. Я вижу, что иногда результат не является нулевым, как ожидалось, и удаленная строка все еще находится.

Правильно ли читать с CL = 2, чтобы получить ожидаемый результат?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Локально для реплики это будет sub ms. Время доминирует во времени от app->coordinator->replica->coordinator->app сетевых переходов. Используйте quorum или local_quorum для согласованности последовательных запросов, например, при и записи и чтении.

0 голосов
/ 28 июня 2018
  1. убедитесь, что время серверов синхронизировано, если вы используете временную метку на стороне сервера. Лучше использовать временную метку на стороне клиента.

Является ли правильный подход для чтения с CL = 2, чтобы получить результат Я ожидая

Я предполагаю, что вы используете согласованность по умолчанию при удалении, т.е. 1 и как 1 + 2> 2 (т.е. W + R> N) в вашем случае, следовательно, это нормально.

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