Closed glassfishrobot closed 14 years ago
@glassfishrobot Commented Reported by krijnschaap
@glassfishrobot Commented shreedhar_ganapathy said: Reassigning the enhancement request to community member Bongjae
@glassfishrobot Commented carryel said: This issue could be dependent on issue #61 because issue #61 could change MASTER_CHANGE_EVENT's notification timiming.
But, anyway, I made the patch by which a user could be aware of MASTER_CHANGE_EVENT.
A user can receive GroupLeaderShipNotificationSignal when MASTER_CHANGE_EVENT is occurred by adding GroupLeaderShipNotificationActionFactory to gms like this.
gms.addActionFactory( new GroupLeaderShipNotificationActionFactoryImpl( callback ) );
I will attach the proposed patch, diff and test app.
@glassfishrobot Commented carryel said: Created an attachment (id=16) attched the patch and diff
@glassfishrobot Commented carryel said: I received feedbacks from Joe and Shreedhar.
So I modified the proposed patch more.
Here are changes.
GroupLeaderShip ===> GroupLeadership
all member types as well as CORE can receive the group leadership event.
the log message is modified for debugging when a group leadership event is fired.
GroupLeadershipNotificationSignal has the following API. /**
provides a list of the previous view's snapshot at time signal arrives. *
@return List containing the list of GMSMember
s which are
corresponding to the view
*/
List
/**
GMSMember
s which are
corresponding to the view
*/
List/**
/**
@glassfishrobot Commented carryel said: Created an attachment (id=17) I attached the proposed patch and diff again
@glassfishrobot Commented carryel said: I received feedback from Joe.
Joe wrote:
A WATCHDOG is not allowed to be a GroupLeader and at this time I don't envision it needing to know the master or of master change event. The WATCHDOG currently broacdcasts failure notification to all members of the cluster so it does not assume it knows which instance is the Master. So lets not send groupleadership events to WATCHDOG
So recent patch should be modified more like this.
In ViewWindow.java — private void analyzeMasterChangeView(final EventPacket packet)
{ ... if( !getGMSContext().isWatchdog() ) addGroupLeadershipNotificationSignal( token, member.getGroupName(), member.getStartTime() ); }
—
Thanks to Joe.
@glassfishrobot Commented @jfialli said: Proposed changes are being regression tested by Shoal QA test.
@glassfishrobot Commented @jfialli said: Fix has been integrated in past.
@glassfishrobot Commented File: group_leader_notification_patch.jar Attached By: carryel
@glassfishrobot Commented File: group_leader_notification_patch.jar Attached By: carryel
@glassfishrobot Commented Issue-Links: depends on SHOAL-61
@glassfishrobot Commented Was assigned to carryel
@glassfishrobot Commented This issue was imported from java.net JIRA SHOAL-50
@glassfishrobot Commented Marked as fixed on Wednesday, June 23rd 2010, 4:11:06 am
Create a signal whenever the master for the cluster has changed. Either add a promoted to master/demoted as master to the involved nodes, or a global signal that just notifies all nodes of the new master, the second probably being the most flexible solution.
Environment
Operating System: All Platform: All
Affected Versions
[current]