Sun Cluster: Guía del desarrollador de los servicios de datos del sistema operativo Solaris

Idempotencia de métodos

En general, RGM no llama a un método más de una vez seguida en el mismo recurso y con los mismos argumentos. Sin embargo, si un método Start falla, RGM podría llamar a un método Stop en un recurso, aunque éste no se haya iniciado nunca. Del mismo modo, un daemon de recurso podría terminarse de forma autónoma y RGM podría aún invocar su método Stop en él. Lo mismo se aplica a los métodos Monitor_start y Monitor_stop.

Por esta causa, se debe aplicar la idempotencia a los métodos Stop y Monitor_stop. Repetidas llamadas de Stop o Monitor_stop en el mismo recurso con los mismos parámetros logran los mismos resultados que una sola llamada.

Una implicación de la idempotencia es que Stop y Monitor_stop debe devolver 0 (satisfactorio) aunque el recurso o supervisor ya esté detenido y no haya ninguna tarea que realizar.


Nota –

Los métodos Init, Fini, Boot y Update debe ser también idempotentes. No es necesario que lo sea el método Start.