By Shreedhar Ganapathy on Sep 17, 2009
Project Shoal is announcing the release of Shoal 1.1 FCS today. This is the third release after Shoal 1.0 and 1.0 Update Release.
During the long time we have been working on this release, the Shoal team has accomplished many new features, and fixed many bugs providing significantly higher stability and reliability with the clustering core. A majority of the features and bug fixes were driven by the intense requirements coming out of the Telco grade application server from Project Sailfin (Sun GlassFish Communications Server) and Project GlassFish (Sun GlassFish Enterprise Server).
Some of the highlights of this release are :
- New event notification signal for JoinedAndReady members - applications using Shoal can call an API to report to other members that at the application level, the member is ready to begin operations - this distinguishes the member joining the group from the actual readiness of the application to start operations.
- New event notification signal for Group Leader changes - anytime a group leader leaves or fails, another group leader is selected and this signal allows Shoal GMS clients to be notified of this change to take any remedial actions.
- New health states Ready and AliveAndReady in the HealthMonitor member lifecycle state transitions to make it more closer to the finite state machine
- Introduce capability to distinguish between group startup and individual instance startup in JOIN and JOINEDANDREADY notifications. Applications may benefit knowing whether only a single GMS member is starting vs all GMS members of the GROUP are starting at once.
- Support for notifying failure within a specific threshold time when the failure is due to a network issue or a hardware end point failure. Blocking TCP health check connections would timeout in (default) 10 secs allowing for quicker detection of failure compared to default system settings for TCP Retransmission timeouts.
- A new GMS Watchdog Failure Notification API to be used by external service management frameworks (i.e. like GlassFish NodeAgent) - This allows external monitoring processes to notify GMS when these external process detects a member process failure faster than GMS heartbeat based detection can assign failures. This feature allows for faster failure detection notifications than the heartbeat based unreachability algorithm can determine failure. The feature was driven by the fact that the GlassFish Node Agent would detect a member process loss faster than Shoal could detect through its heartbeats and restart the failed process, resulting in no failure notifications from Shoal GMS to its clients. Full write up at document. Glassfish Issue 8308
Details of the release announcement are here :
You can download Shoal 1.1 binaries and sources with Javadocs here : https://shoal.dev.java.net/downloadsindex.html
As always, we owe it to you all in the community and thank you for all the feedback and issues you have raised to help us improve.
Thanks very much and hope to see your feedback continuing !