cas上的cassandra写入超时异常

lvjbypge  于 2021-06-10  发布在  Cassandra
关注(0)|答案(0)|浏览(248)

我有一个数据中心us-east-2,上面运行着三个节点:

Datacenter: us-east-2
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving

Address        Load       Tokens       Owns (effective)  Host ID                             Rack

UN     18.224.15.224  246.3 KiB  256          0.0%              d17905d7-cf83-4eda-821c-74ccfe921291  2b
UN  3.133.147.118  265.74 KiB  256          0.0%              5429f522-1da1-4239-8359-1a6c528ce5dd  2a
UN  3.132.214.35   269.74 KiB  256          0.0%              76538ea7-a4f7-4370-bab8-03de2e70c5c6  2b

我创建了一个键空间测试:

CREATE KEYSPACE test WITH REPLICATION = {‘class’:’NetworkTopologyStrategy’, ‘us-east-2’:3};

我有两个表samplestack和顶表内测试。
我的工作必须使用cas操作,因此有几个updateif查询(示例):

"UPDATE top_table SET top = "+ nextTop +" WHERE id = 0 IF top = "+ currTop;

每次我的两个复制副本退出时都会声明错误: Exception in thread "LockFreeStack3" com.datastax.oss.driver.api.core.servererrors.WriteTimeoutException: Cassandra timeout during CAS write query at consistency SERIAL (2 replica were required but only 1 acknowledged the write) 有什么办法解决这个问题吗?我读过多个解决方案,但增加超时并不能解决问题。而且,我不能减少并行性,必须为我手头的问题合并cas操作。
在java代码中,每个副本有一个线程。将一致性显式设置为serial也不起作用。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题