【发布时间】:2015-04-14 01:59:18
【问题描述】:
我有一个 Casandra DB 以这样的方式建模,data_time 将是行键。行键的格式为 (yyyy_mm_dd_hh)。这已根据应用程序需求进行建模。
可能有大约 700K 行具有相同的行键,因此当我尝试删除行时,再次查询时会出现 rpc_timeout 异常。当我搜索时,我发现这是因为 SS Table 可能已损坏。我也不想运行 nodetool,因为删除部分将通过批处理自动执行。
我厌倦了使用 Netflix 的 Astyanax API,但没有运气。我正在尝试使用 Java 中的计划删除查询来删除记录。
谁能帮帮我。
【问题讨论】:
-
您能否提供有关集群设置、数据模型和客户端代码的详细信息?
-
集群基于4个节点搭建。 Key Space 的复制因子为 1,然后数据模型设置如下: CREATE TABLE user_events(rowkey text,uuid text,values text>,PRIMARY KEY ((rowkey), uuid));客户端代码是一个简单的 java 程序,它使用 datastax API 打开连接以执行删除查询。
-
有趣的观察是只有当我在 cqlsh 中对整个表进行选择时才会发生 rpc_timeout。该表仍然接受插入/删除,并且还在特定的 rowKey 级别上进行选择。这是为什么呢?