我已经建立了一个3个节点的Cassandra 2.2集群,复制因子为2,并创建了一个简单的表:
CREATE TABLE store (
c_email text,
store_url text,
enabled boolean
PRIMARY KEY (c_email, store_url)
) WITH CLUSTERING ORDER BY (store_url ASC)
我使用2.2 Datastax's Nodejs driver在表格中插入数据。并编辑如下数据:
var query = 'INSERT INTO store (c_email, store_url, enabled) VALUES (?, ?, ?)';
var params = [storeInfo.email, storeInfo.store_url, storeInfo.enabled];
query.execute(query, params, function(err, result) {
if(err)
{
console.log(err);
}
else
{
console.log("Saved");
}
});
当我插入新记录时,一切正常。当我尝试更改现有记录的启用值时,会发生此问题。奇怪的是,启用的值是随机更改的。例如,如果我发出3个请求并将enabled属性更改为 - > true, false, true
在第三个请求之后,它可能仍然是数据库中的false
,或者在第二个请求之后它可能永远不会变为false。我不知道这是什么原因。