У меня есть настройка кластера cassandra со следующими конфигурациями: -
- Узлы: - 3
- Датацентр: - dc1
- Коэффициент репликации: -3
- Согласованность: - LOCAL_QUORUM
Я создал пример API весенней загрузки, который рекурсивно вставляется в таблицу (testing1) в пространство ключей (тест).
Перед выполнением операции записи я ввел задержку (2100 мс) в ответ на одном из узлов с помощью команды tc, поэтому, когда операция записи выполняется, мы получаем writetimeoutexception, поскольку для write_request_timeout установлено значение 2000 мс в cassandra.yaml.
Кассандре все равно следует успешно выполнить операцию записи, поскольку необходимые узлы для подтверждения соответствия уровню согласованности (2) работают без каких-либо задержек, но я получаю следующее исключение: -
com.datastax.driver.core.exceptions.WriteTimeoutException: тайм-аут Cassandra во время запроса записи в соответствии LOCAL_QUORUM (требовалось 2 реплики, но только 1 подтвердил запись).
Почему происходит сбой записи, даже когда необходимые узлы для ack (2) запущены и работают?