Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Idempotenz für Methoden

Im Allgemeinen ruft RGM keine Methode mehr als einmal nacheinander für die gleiche Ressource mit den gleichen Argumenten auf. Wenn jedoch eine Start-Methode fehlschlägt, könnte RGM eine Stop-Methode für eine Ressource aufrufen, obwohl diese Ressource gar nicht gestartet wurde. Ebenso könnte ein Ressourcen-Dämon von selbst ausfallen und RGM dennoch die Stop-Methode aufrufen. Die gleichen Möglichkeiten gelten für die Methoden Monitor_start und Monitor_stop.

Aus diesen Gründen müssen Sie Idempotenz in Ihre Stop- und Monitor_stop-Methoden einbauen. Wiederholte Aufrufe von Stop oder Monitor_stop für die gleiche Ressource mit den gleichen Parametern erzielen dann das gleiche Ergebnis wie ein einziger Aufruf.

Eine Auswirkung der Idempotenz ist, dass Stop und Monitor_stop 0 (Erfolg) zurückgeben müssen, auch wenn die Ressource bzw. der Monitor bereits gestoppt sind und keine Aufgabe ausgeführt wird.


Hinweis –

Die Methoden Init, Fini, Boot und Update müssen ebenfalls idempotent sein. Eine Start-Methode muss nicht idempotent sein.