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 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 Start échoue, le RGM peut appeler une méthode Stop sur une ressource même si cette dernière n'a jamais été exécutée. De même, le RGM peut exécuter la méthode Stop 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 Monitor_start et Monitor_stop.

C'est pourquoi vous devez créer une relation d'idempotence entre les méthodes Stop et Monitor_stop. Les appels répétés de Stop ou Monitor_stop 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 que Stop et Monitor_stop doivent retourner 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, Boot et Update doivent également être idempotentes. Il n'est pas nécessaire qu'une méthode Start soit idempotente.