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 Start falla, RGM puede llamar al método Stop en un recurso, aunque éste nunca se haya iniciado. Del mismo modo, un daemon del recurso puede desactivarse espontáneamente y, aún así, RGM puede seguir ejecutando el método Stop en él. Esto mismo se aplica también a los métodos Monitor_start y Monitor_stop.

Por estos motivos, se puede lograr que los métodos Stop y Monitor_stop sean idempotentes. Varias llamadas de Stop or Monitor_stop en el mismo recurso con los mismos argumentos logran los mismos resultados que una única 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 deben también ser idempotentes. No es necesario que lo sea el método Start.