Description

Parent applications employing Shoal typically using
GMSFactory.startGMSModule(...) API might find it limiting that Shoal's group
JoinNotificationSignal signifies the application employing it to be ready to
start its operations. This is particularly the case when products that have
sequences of services that have to be started that need to be part of a group
early on but also need the ability to know when the app is ready to be operated
upon.
For instance, where a load balancer is employing Shoal as the health monitoring
system by participating in it as a SPECTATOR member, and the cluster it is load
balancing also uses Shoal, the LB needs to know when the instances are ready to
accept requests.

Further, appserver instances in the cluster may want to know when an instance is
in ready state so that operations such as say, data replication can occur.
This RFE is for a JoinedAndReadyNotificationSignal which would signify to all
members of the group that the member is not only joined the group but is also
ready to start operations.

Additionally, the JoinNotificationSignal requires an additional API to return
the joined member's health state through a method getMemberState(). This would
cover for cases where an instance has already sent out a
JoinedAndReadyNotificationSignal and another instance needs to know the health
state of this member.
The state machine of an instance's startup should be starting, ready and then
alive. Both ready and alive signify an instance's ready and available state.

shreedhar_ganapathy
added a comment - 15/Jan/08 11:32 AM Sheetal and I have checked in this feature through various cvs checkins.
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=503
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=497
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=496
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=495
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=494
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=492
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=485
https://shoal.dev.java.net/servlets/ReadMsg?list=cvs&msgNo=469
We may need to expose an API that allows applications to query the state of
members through GroupHandle.