gpt4 book ai didi

cassandra - 在 CAS 操作中获取 WriteTimoutException

转载 作者:行者123 更新时间:2023-12-04 03:10:43 25 4
gpt4 key购买 nike

我正在尝试使用 phantom 插入相当少量的异步数据到 cassandra 3:9 但是这个查询总是失败:插入 test_db.test_tbl(name, last, ts) VALUES('aaa', 'bbb', 1502109409) IF NOT EXISTS USING TTL 0;我收到以下异常:

com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout during write query at consistency SERIAL (1 replica were required but only 0 acknowledged the write)

at com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:100)

at com.datastax.driver.core.Responses$Error.asException(Responses.java:134)

at com.datastax.driver.core.RequestHandler$SpeculativeExecution.onSet(RequestHandler.java:507)

at com .....

我正在使用 docker 运行 cassandra。我尝试更改 cassandra.yaml write_request_timeout_in_ms: 20000 但这并没有太大区别。

更新:我尝试将一致性级别设置为 ONE(也尝试过其他):

insert
.value(_.name, "aaa")
.value(_.last, uuid)
.value(_.ts, Random.long)
.ifNotExists()
.consistencyLevel_=(ConsistencyLevel.ONE)

但异常仍然显示“Cassandra timeout during write query at consistency SERIAL”

最佳答案

您正在使用 IF NOT EXISTS 关键字,它是 Lightweight transactions

Cassandra implements lightweight transactions by extending the Paxos consensus protocol, which is based on a quorum-based algorithm. Paxos make sure linearizable consistency at the cost of four round trips.

这听起来成本很高——如果您遇到的应用程序要求每个操作都可线性化的情况很少见,那么它可能太高了。因此,为绝对必要的情况保留轻量级事务

来源:https://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0

关于cassandra - 在 CAS 操作中获取 WriteTimoutException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com