我们每个都有2个cassandra数据中心3个节点。
在一个接一个地进行以下查询后,结果不一致:
BEGIN BATCH
UPDATE t1 set units - {'u1'} where location = 'loc1';
UPDATE t1 set units - {'u1'} where location = 'loc2';
UPDATE t1 set units - {'u1'} where location = 'loc3';
...
UPDATE t1 set units - {'u1'} where location = 'loc200';
APPLY BATCH;
和
BEGIN BATCH
UPDATE t1 set units + {'u1'} where location = 'loc100';
UPDATE t1 set units + {'u1'} where location = 'loc101';
UPDATE t1 set units + {'u1'} where location = 'loc102';
...
UPDATE t1 set units + {'u1'} where location = 'loc200';
APPLY BATCH;
有时它会根据需要执行,结果是'u1'被添加到位置为101-200的行的集合中,有时没有任何反应,有时只设置部分范围(就像位置101-123)。 / p>
为什么批处理查询会在没有例外的情况下失败,为什么它们不一致?
答案 0 :(得分:0)
问题是节点时间不同步。