-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
Create a new method in HAPartition or modify an existing one so that we can provide
the capability of calling a method cluster wide but waiting only until the first positive
response has been received.
The definition of positive response would be defined by a RspFilter impl that tells
JGroups it's OK to return as soon as a valid response is received. The call would
still be GET_ALL.
An example of this can be found in JBC's DataGravitationInterceptor.gravitateData()
where it filters NNFEs.
RspFilter concept doesn't exist in JGroups 2.4, so this won't be implemented for
AS 4.x.
The use case for this would be the following:
Let's say you have a cluster of N nodes and you have a jar deployment in M nodes
where M is less than N. A request comes to a node that does not have this jar
deployment, so it tries to look it up cluster wide. At this point all M nodes reply with
the binding but one of the nodes that didn't have the binding is having GC issues so it
does not respond in time. With the current set up, AS would have to wait for all nodes
to reply back before it can return any of the positive responses received. The idea
here is for positive results to make JGroups return straight back.
If M was 1 and this was the node with GC problems, not much we could do.