Cassandra 旧提示文件存在于提示文件夹中

标签 cassandra cassandra-3.0

在 cassandra 退役期间,我注意到节点尝试发送提示,这需要很长时间并且永远不会完成。我检查了提示文件夹,发现了超过 9 个月的提示。我不确定为什么这些旧提示仍然存在于文件夹中,所以我决定删除它们。删除它们后,我注意到 system.log 中有以下条目

INFO  [HintsDispatcher:1070] 2021-07-08 11:32:01,056  HintsDispatchExecutor.java:141 - Transferring all hints to /10.199.190.233: 7935f1b5-4725-4dc2-ad6d-b883d53d907d
ERROR [HintsDispatcher:1070] 2021-07-08 11:32:01,061  CassandraDaemon.java:207 - Exception in thread Thread[HintsDispatcher:1070,1,RMI Runtime]
java.lang.RuntimeException: java.nio.file.NoSuchFileException: /data/cassandra/data/hints/ce6bb0e3-849f-487d-9274-38b8536b89cf-1603947885707-1.hints

由于 system.hints 文件夹没有任何条目,Cassandra 在哪里保存提示的元数据?

Cassandra 版本为 3.0.12

最佳答案

每个 Cassandra 节点上的内存中都有一个用于跟踪的提示目录。

如果您手动删除节点上提示目录的内容,提示目录中的条目就会变得过时,并且您会遇到您发布的 NoSuchFileException

删除提示的正确方法是使用nodetool truncatehints命令。干杯!

关于Cassandra 旧提示文件存在于提示文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68307295/

相关文章:

php - Cassandra - DataSax PHP 驱动程序 - 超时

Cassandra 不支持索引列上的 DELETE

node.js - 列 ID 的未设置值无效

python - 使用 python 创建 cassandra db 用户/角色

Cassandra Java 驱动程序错误 - 所有主机尝试查询失败连接已关闭

log4j - Cassandra 未获取 log4j-server.properties 文件

python - Cassandra 和皮卡萨 : Best way to determine if row with particular key exists

cassandra - 在 Cassandra 节点上增加磁盘大小时要考虑什么?

java - NoNodeAvailableException : No node was available to execute the query

elasticsearch - 何时直接查询cassandra与使用索引器