Solaris OS용 Sun Cluster 데이터 서비스 개발 안내서

메소드의 멱등원

일반적으로 RGM은 동일한 인자를 가진 동일한 자원에 연속해서 둘 이상의 메소드를 호출하지 않습니다. 그러나 Start 메소드가 실패할 경우 RGM은 자원이 한 번도 시작되지 않았더라도 자원에 대한 Stop 메소드를 호출할 수 있습니다. 마찬가지로 자원 데몬이 저절로 소멸된 경우에도 RGM은 이 자원 데몬에 대해 Stop 메소드를 실행할 수 있습니다. 동일한 시나리오가 Monitor_startMonitor_stop 메소드에 적용됩니다.

이러한 이유로 StopMonitor_stop 메소드에 멱등원을 작성해야 합니다. 동일한 인자를 가진 동일한 자원에 대해 Stop 또는 Monitor_stop을 반복해서 호출할 경우 단일 호출과 동일한 결과가 만들어집니다.

멱등원에 함축된 한 가지 의미는 자원 또는 모니터가 이미 중지되고 아무런 작업을 수행하지 않더라도 StopMonitor_stop에서 0(성공)을 반환해야 한다는 것입니다.


주 –

Init, Fini, BootUpdate 메소드도 멱등원이어야 합니다. Start 메소드는 멱등원일 필요가 없습니다.