You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Deutsche Version

Functioning of the Watchdog (Heart_beat_watchdog_thread)

The Watchdog is started automatically when a JobScheduler is started as part of a Cluster. This monitors whether other JobSchedulers in the clúster have a healthy heartbeat. The JobScheduler is stopped if its heartbeat is missing over a predefined length of time.

Mit dem Herzschlag schreibt der JobScheduler periodisch alle 60 Sekunden ein Lebenszeichen in die Datenbank. Ab 3 Sekunden Verspätung gibt es eine folgenlose Warnung.
Bleiben zwei Herzschläge hintereinander (also zwei Minuten lang) aus, dann erkennen die anderen Mitglieder des Clusters daran, dass der Scheduler wohl ausgefallen ist
und übernehmen dessen Arbeit.

Der Watchdog wiederum stellt sicher, dass es sich bei dem ausgefallenen Herzschlag nicht um einen vorübergehende Erscheinung handelt, indem er kurz vor Ablauf der zwei
Minuten Frist (nach 115 Sekunden) die Beendigung des Schedulers einleitet, denn er muss davon ausgehen, dass andere Mitglieder im Cluster dabei sind, seine Aufgabe übernehmen.
So wird verhindert, dass zwei Scheduler die gleichen Aufgaben ausführen und es wegen doppelt laufender Jobs zu Problemen kommt.

Dieses Verhalten ist nicht konfigurierbar, da es sich hier um eine "Notabschaltung" handelt, die einen funtionierenden Clusterbetrieb sicherstellt.

Possible reasons for a missing heartbeat

  • Database problems
  • Problems with the SMTP mail server
  • DNS problems
  • A heavily overload computer (e.g. lack of memory)
  • A change in system time

Ausgaben im scheduler.log

Der Scheduler bemerkt, dass sein Herzschlag nicht zur angekündigten erfolgt ist, sondern 31 Sekunden später. Die Warnung erscheint ab 3 Sekunden Verspätung. Toleriert werden bis zu 55 Sekunden Verspätung.

 2013-09-12 12:26:18.230 [WARN]   (Cluster) 
 SCHEDULER-827  Own heart beat is late: next_heart_beat has been announced for 2013-09-12 12:25:47 
 (this is 31 seconds late)

Diese Meldung kommt vom Watchdog. Er hat bemerkt, dass der letzte Herzschlag seines Schedulers 136 Sekunden zurückliegt. Die Toleranz von 55s Verspätung (115s seit letztem Schlag) ist überschritten.
Bevor nun ein anderes Mitglied des Clusters den Betrieb übernimmt, bricht der Watchdog den JobScheduler ab, damit dieser nicht doch noch irgendwann - parallel zum übernehmenden Mitglied - seine Arbeit fortsetzt.

 2013-09-12 12:28:19.393 [ERROR]  (Heart_beat_watchdog_thread) 
 SCHEDULER-386  Last heart beat was 2013-09-12 12:26:03, 136 seconds ago. Something is delaying
    Scheduler execution, the Scheduler is aborted immediately

Während des Abbbruchvorgangs hat es der JobScheduler doch noch zu einen weiteren Schlag geschafft und dabei seine Verpätung selbst bemerkt.

 2013-09-12 12:28:20.546 [WARN]   (Cluster) 
 SCHEDULER-827  Own heart beat is late: next_heart_beat has been announced for 2013-09-12 12:27:03 
 (this is 77 seconds late)

See also:

  • No labels