我有一个表,其中有4列,即a,b,c,d。我将lwt用于此表中的所有创建/更新/删除操作。a是我唯一的主键。我的问题有点像this:-
INSERT INTO xTable(A,B,D) Values ('123','','456') IF NOT EXISTS.
UPDATE INTO xTable SET B = '789' AND C = '' WHERE A = '123' IF EXISTS.
UPDATE INTO xTable SET B = '789' AND C = '456789' WHERE A = '123' IF EXISTS.
DELETE FROM xTable where A = '123' IF B = '789'.
在任何时候,我们都不可能在记录中有一个c值,但是b是空白的。但当我从这张table上读的时候, select * from xTable where A = '123';
我得到了a,c,d的正确值,分别是'123','789','456',但是b是空白的。在执行上述任何查询时也没有收到任何错误。
数据不一致的可能原因是什么??
Cassandra3.7版。我正在使用golang的gocql驱动程序执行查询。
编辑-1
我正在对所有查询使用仲裁级别的一致性。这也是一个间歇性问题。很少发生,不易复制
暂无答案!
目前还没有任何答案,快来回答吧!