]
Dennis Reed commented on JGRP-1921:
-----------------------------------
Later versions (I checked 3.0.9) are not affected, as they do not set done=false in
execute().
Race condition in GroupRequest
------------------------------
Key: JGRP-1921
URL:
https://issues.jboss.org/browse/JGRP-1921
Project: JGroups
Issue Type: Bug
Affects Versions: 2.6.23
Reporter: Dennis Reed
Assignee: Dennis Reed
Priority: Minor
Race condition in GroupRequest can make it wait for the full timeout even after all
responses are received.
GroupRequest.execute broadcasts the request, sets "done=false", then waits for
a reply.
If all the replies come in before it sets done=false, it will overwrite the done=true set
by the responses and wait for the full timeout, and then return false.
Note that the internal uses by MessageDispatcher/etc do not check the return value from
execute, so this does not affect the data returned, only how long the call blocks for.