Ошибка записи Cassandra Write, даже если она получила подтверждение от требуемых узлов

У меня есть установка кластера cassandra со следующими конфигурациями: -

  • Узлы: 5
  • Центр данных: dc1
  • Фактор репликации: 3
  • Консистенция: LOCAL_QUORUM

Я получил следующее исключение при выполнении пакетных операторов в таблице.

com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout during 
write query at consistency LOCAL_QUORUM (3 replica were required 
but only 2 acknowledged the write).

Почему он говорит, что требуется 3 реплики, когда согласованность равна LOCAL_QUORUM (2)?

Можно ли для этого обеспечить вывод трассировки? Это может помочь пролить больше света на вопрос.

markc 13.09.2018 14:35

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

rohit singh 14.09.2018 03:45

Это полезно для сопоставления журналов вашего приложения с журналами с узлов в кластере. Проверьте узлы /var/log/cassandra/system.log | debug.log в то же время и посмотрите, есть ли какие-либо исключения, показывающие

markc 14.09.2018 09:30

Сколько у вас DC? похоже, что в вашей настройке есть еще один DC, в котором для достижения CL (уровня согласованности) требуется 1 реплика. Итак, 2 реплики для DC1 и еще 1 реплика в другом DC = всего 3. Также может быть, что драйвер вашего клиента не знает DC ... проверьте и это.

TomerSan 26.09.2018 10:06
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
0
4
65
0

Другие вопросы по теме