将 Cassandra 升级到 3.11.17 后 CAS 写入超时

问题描述 投票:0回答:1

在 cassandra 升级到 3.11.17.1 后,对于某些具有 CAS 串行一致性的插入语句,cassandra 数据库面临超时

com.datastax.oss.driver.api.core.servererrors.WriteTimeoutException: \
  Cassandra timeout during CAS write query at consistency LOCAL_SERIAL \
  (2 replica were required but only 1 acknowledged the write)

尝试检查日志、n tpstats 和 n 状态以及所有调试内容,一切正常

cassandra timeout cas
1个回答
0
投票

根据有限的信息,只能说集群中的节点没有响应很可能是因为它们过载。

驱动程序报告

WriteTimeoutException
,因为没有足够的副本在 写入请求超时 (
write_request_timeout_in_ms
)
内确认 CAS read-before-write 的写入部分。

请求的协调器需要 2 个副本来确认写入,但只有 1 个副本确认了。这意味着其他副本响应速度太慢,并且写入很可能失败。如果是这样,您应该检查日志或

nodetool netstats
的输出中是否有删除的突变。

如果您看到大量丢失的突变,则表明提交日志磁盘无法跟上写入操作,因此您应该考虑通过添加更多节点来增加集群的容量。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.