2015-02-10 9 views
5

ich oft bin die folgende Meldung sehen, wenn nodetool repair ausgeführt wird:„Lost Benachrichtigung“ von nodetool Reparatur

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

Was bedeutet es wirklich (und wie es zu verhindern, wenn es gefährlich ist)?

Ich benutze Cassandra 2.1.2 in Vier-Knoten-Cluster.

Antwort

2

Dies scheint eine known bug zu sein, die bereits in den neuesten Versionen behoben wurde.

+1

Danke. Aber wie ich geschrieben habe, benutze ich die neueste Cassandra (2.1.2), die später als die "Fix-Version" für den verlinkten Fehler veröffentlicht wird. Der Fehler ist darüber hinaus, dass nodetool nach dem Empfang des Ereignisses beendet wird, nicht wegen der Ursache des Ereignisses. –

+0

Ja, der "fixed" Status verhindert, dass nodetool beendet wird, nicht das JMX Problem zu beheben. Der genaue Grund, warum nodetool nicht beendet werden muss, ist im Ticket beschrieben und verlinkt. –

5

Diese Nachricht ist nicht schädlich. Es bedeutet nur, dass das nodetool die Spur des Reparaturstatus verloren hat. Es hat keinen Einfluss auf die Reparatur selbst. Es kann gefährlich sein, wenn Sie nach Abschluss des vorherigen Befehls den nächsten Reparaturbefehl eingeben, was zu mehreren gleichzeitigen Reparaturen führt, die das System viel stärker belasten. Ich hatte ein Skript (jetzt nicht mehr), das Protokolle für die Start-/Beendigungsnachrichten des Reparaturzyklus überwacht, die durch die Nachricht "Nachricht verloren" ausgelöst wurden, um keine konkurrierenden Reparaturen zu erzeugen.

0

Sie können immer, wie durch die Fehlermeldung vorgeschlagen, cassandras Systemprotokoll überprüfen und Informationen über die Reparaturaktivität sammeln.

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

Bitte beachten Sie, dass ich für einige Zwecke stieß auf ein cassandra 2.1.15 am Testen und noch das Problem. Als Überlegung, da es kein großer Fehler ist, den Reparaturprozess nicht wirklich beeinflussend, denke ich, dass es einige Zeit bleiben wird.