[
http://jira.jboss.com/jira/browse/JGRP-621?page=comments#action_12387624 ]
Vladimir Blagojevic commented on JGRP-621:
------------------------------------------
This bug is sometimes cause of gms failure to collect all ACKs [1] under flush since flush
waits for all members to ack view including new member. In this case new member is blocked
in fetch the initial members phase for too long to send a response during
view_ack_collection_timeout.
[1] GMS: - failed to collect all ACKs (4) for view [127.0.0.1:7800|3] .......
JOIN_RSP should interrupt thread blocking down on findInitialMembers
--------------------------------------------------------------------
Key: JGRP-621
URL:
http://jira.jboss.com/jira/browse/JGRP-621
Project: JGroups
Issue Type: Bug
Affects Versions: 2.6
Reporter: Vladimir Blagojevic
Assigned To: Vladimir Blagojevic
When clients attempts to join it loops through:
while(!joined){
fetch the initial members
determine coordinator
send join request to coordinator
wait for join response (timeout)
if(joinok)
joined = installView
}
Unlucky timing of join response arrival can delay successful view installation and lead
to unforeseen problems. If waiting for join response timeouts then joining thread repeats
a loop and sends a blocking request to fetch initial members again. If response arrives
while joining thread is fetching for the initial members then joining thread has to wait
for fetching of the initial members to return in order to proceed with view installation.
Fix for this issue should ensure that If successful join response arrives then joining
thread should be interrupted and proceed with view installation immediately.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira