レプリケーション ファクター 2 で 3 ノードの Cassandra 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 の Nodejs ドライバーを使用して、テーブルにデータを挿入しています。そして、次のようにデータを編集します。
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 つのリクエストを作成し、有効なプロパティを -> に変更したtrue, false, true
場合、3 番目のリクエストの後、データベースに残っているfalse
か、2 番目のリクエストの後に false に変更されない可能性があります。これの理由がわかりません。