Guide des développeurs pour les services de données Sun Cluster pour SE Solaris

Idempotence des méthodes

En règle générale, le gestionnaire RGM n'appelle pas successivement plus d'une fois une méthode sur la même ressource avec les mêmes arguments. Par contre, si une méthode Démarrage échoue, le gestionnaire RGM peut appeler une méthode Arrêt sur une ressource même si cette dernière n'a jamais été exécutée. De même, le gestionnaire RGM peut exécuter la méthode Arrêt sur le démon d'une ressource qui s'est pourtant interrompu de lui-même. Les mêmes scénarios s'appliquent aux méthodes Démarrage_détecteur et Arrêt_détecteur.

C'est pourquoi vous devez créer une relation d'idempotence entre les méthodes Arrêt et Arrêt_détecteur. Les appels répétés d'Arrêt ou Arrêt_détecteur sur la même ressource en utilisant les mêmes paramètres fournissent les mêmes résultats qu'un appel unique.

L'idempotence se caractérise notamment par le fait qu'Arrêt et Arrêt_détecteur doivent revenir à 0 (succès) même si la ressource ou le détecteur sont déjà arrêtés ou qu'aucun travail n'est effectué.


Remarque :

les méthodes Init, Fini, Initialisation et Mise_à_jour doivent également être idempotentes. Il n'est pas nécessaire qu'une méthode Démarrage soit idempotente.