Запрос на обновление не работает на cassandra cqlsh

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

cqlsh:my_keyspace> select status from my_devices where deviceid='ffffffff-b897-c010-0000-xxx43' ;

status
--------
  4

Но когда я попробовал точно такое же предложение where в update cql, это не повлияло на строку.

cqlsh:my_keyspace> update my_devices set status=1 where deviceid='ffffffff-b897-c010-0000-xxx43';
cqlsh:subscriber_data_keyspace> 

Что может быть причиной этой проблемы?


person luckystones    schedule 26.12.2016    source источник
comment
Как выглядит ваше определение таблицы? Кроме того, попробуйте выполнить запросы SELECT и UPDATE с включенной трассировкой и посмотрите, не выявит ли это какие-либо подсказки.   -  person Aaron    schedule 26.12.2016


Ответы (1)


Это похоже на проблему согласованности. Вы можете изменить уровень согласованности cqlsh с помощью команды CONSISTENCY level. Я предлагаю вам использовать QUORUM.

Для получения дополнительной информации о согласованности прочитайте это.

person Adpi2    schedule 26.12.2016