我正在尝试使用SERIAL
一致性在Cassandra中尝试轻量级事务。但是,尝试在cqlsh中设置一致性级别会导致错误:
cqlsh:learning> CONSISTENCY SERIAL;
Improper CONSISTENCY command.
已从CQL中删除WITH CONSISTENCY
语句,因此我无法使用它。有没有办法从cqlsh启用串行一致性?或者我必须使用驱动程序吗?
答案 0 :(得分:2)
CONSISTENCY
命令仍应在cqlsh中运行。但valid values适用于此设置:
SERIAL不在该列表中,因此您看到错误。有一个开放的Jira票证可以解决这个问题:CASSANDRA-8051
这似乎是一致性级别,对其有一些限制,因此难以实现。 Consistency Level descriptions表示:
您无法将此级别配置为常规一致性级别, 使用一致性级别字段在驱动程序级别配置。
设置此一致性级别的Java Driver apparently has a specific method:
查询的序列一致性级别,设置为 Statement.setSerialConsistencyLevel()类似于一致性 level,但仅用于具有条件更新的查询。那 是,它仅用于具有等效IF的查询 CQL中的条件。