Details
-
Feature Request
-
Resolution: Done
-
Minor
-
None
-
None
-
0
-
0%
Description
When a RspFilter returns false for isAcceptable() for all responses and needMoreResponses() returns true all the time, then a call would block forever (if timeout=0), or until the timeout kicks in.
This should be prevented; the new behavior would be:
GET_ALL:
- Terminate when the filter indicates it has sufficient responses (needMoreResponses() == false) OR when responses from all members have been received.
- The current behavior requires the RspFilter to keep track of responses and terminate when no suitable responses have been received from all members
GET_FIRST:
- Terminate the call when 1 suitable response has been received, or when uisuitable responses from all members have been received
Of course, both GET_FIRST and GET_ALL are also bounded by the timeout, as it currently the case.
Similar behavior would exist for GET_MAJORITY