Re: [jgroups-users] jgroups - callRemoteMethodsWithFuture blocks on coordinator crash

Questions/problems related to using JGroups <[email protected]> Thu, 31 Aug 2017 20:32:52 +0530
Newsgroups gmane.comp.java.javagroups.general
Message-ID <mailman.14950.1504191781.8691.javagroups-users@lists.sourceforge.net>
Okay, I tried to achieve this by using async calls. Even when the mode is
'GET_NONE', a broadcast using callRemoteMethods will block if
1. The coordinator crashes/loses network connectivity before the broadcast
has been made &
2. SEQUENCER is in the stack.

None of the request options seem to be applied to the unicast message sent
to the coordinator internally.

- Kishore

On Thu, Aug 31, 2017 at 1:56 PM, kishore kumar <[email protected]>
wrote:

> I have not used blocking RPCs since there are scenarios in which plenty of
> messages have to be sent one after the other and using a blocking RPC will
> increase the RTT. I have implemented the application with async calls but
> the responsibility of tracking is with the application. The senders return
> immediately and the receivers send the response in a separate RPC.
> Collecting the individual responses of various calls and compiling a final
> response is done by the sender. Although this is in place I find this
> approach a bit complicated. Moreover I am not sure whether replacing
> blocking calls by making the receivers send their responses in a separate
> RPC is a better approach. callRemoteMethodsWithFuture seemed to be a better
> alternative but the application does not tolerate longer delays. I agree
> that using a bounded blocking call will solve this for me. I am looking for
> a better alternative which combines the best of both the approaches.
> The callRemoteMethodsWithFuture  does take a RequestOptions argument. I am
> specifying a timeout in the request options. "*new
> RequestOptions(ResponseMode.GET_ALL, 3000, false, new
> MasterResponseFilter());*" I was hoping that when the coordinator
> crashes, this timeout would be used. But the timeout is simply ignored by
> the underlying implementation. This is why I wasn't sure of the behavior.
> What are your thoughts on this?
>
> - Kishore
>
> On Thu, Aug 31, 2017 at 12:55 PM, Questions/problems related to using
> JGroups <[email protected]> wrote:
>
>> This is the expected behavior.
>>
>> Consider a similar case where you're making a blocking RPC on all cluster
>> members.
>>
>> If one of the members crash during the RPC and is thus not able to send a
>> response, the caller will block until either a timeout occurs (if the call
>> is time-bounded) or failure detection kicks in and marks the response of
>> the crashed member as faulty, so that the call can return.
>>
>> You could try bounding your blocking RPCs or make them async if the app
>> allows that...
>>
>>
>> On 31/08/17 09:08, Questions/problems related to using JGroups wrote:
>>
>>> The problem is with SEQUENCER in the stack,
>>> callRemoteMethodsWithFuture() is blocking until the message is forwarded to
>>> the coordinator. Coordinator loss during such situations make the call
>>> blocking until a view change occurs. This is something I want to avoid in
>>> my application. When I tested without SEQUENCER in the stack the call does
>>> not block until a view change but removing SEQUENCER is not an option in my
>>> application. If this is the expected behavior then how does one overcome
>>> this delay in processing?
>>>
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>>
>>>
>>>
>>> _______________________________________________
>>> javagroups-users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/javagroups-users
>>>
>>>
>> --
>> Bela Ban | http://www.jgroups.org
>>
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> javagroups-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/javagroups-users
>>
>
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
javagroups-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/javagroups-users