eclipse-ee4j / glassfish-shoal

Shoal
Other
5 stars 9 forks source link

Master collision never resolved #147

Open kaabar opened 5 years ago

kaabar commented 5 years ago

Hello, When a master node hang for while and new master has been elected for the group, if the old master node is able restore itself then it will start a collision resolving with the current new master, this process never ends and go on for ever as both nodes insist on becoming master. The problem is likely related to line number 1007 if (madv.getID().compareTo(adv.getID()) >= 0) The test here does not much the check done in checkMaster mothod at line 249 if (isSeniorMember(manager.getSystemAdvertisement(), systemAdv))

I this both method should have the same check which is isSeniorMember

You can reproduce the issue by suspending the gms threads in the master node untill a new master is elected, and the resume, you will notice the infinite messsage exchange between two masters