2015-02-10 51 views
5

“失落的通知”,我经常看到运行nodetool repair当出现以下消息:从nodetool修复

[2015-02-10 16:19:40,042] Lost notification. You should check server log for repair status of keyspace xxx 

是什么真正的意思(以及如何预防它,如果它是危险的)?

我在四节点集群中使用Cassandra 2.1.2。

回答

2

这似乎是一个known bug已在最新版本中已被修复。

+1

谢谢。但正如我写的,我正在使用最新版本的Cassandra(2.1.2),该版本的发布时间晚于链接bug的“修复版本”。更重要的是,这个bug是关于nodetool收到事件后退出的,而不是关于事件的原因。 – 2015-02-10 16:55:18

+0

是的,“固定”状态是关于防止nodetool退出,而不是修复JMX问题。在票证中描述并链接退出节点工具不必要的确切原因。 – 2015-02-10 17:12:02

5

此消息本身无害。这只意味着节点工具丢失了修复状态的轨迹。它不影响修理本身。如果在完成上一个命令时发出下一个修复命令,则可能会很危险,因此会导致多个并发修复,从而在系统上产生更高的负载。我曾经有一个脚本(现在没有这个脚本)监视由“丢失的通知”消息触发的修复周期开始/结束消息的日志,以避免产生相互竞争的修复。

0

您可以随时按照错误消息的建议去检查cassandra的系统日志并收集有关修复活动的信息。

$ cd /var/log/cassandra/ 
$ cat system.log | grep repair 

请注意,我为某些目的测试了一个cassandra 2.1.15,但仍遇到了问题。作为考虑因素,由于它不是一个主要的错误,并不真正影响修复过程,我认为它会坚持一段时间。