Hi Olivier,

Only the peers receive broadcasts about membership changes, not the
clients. The client lazily discovers metadata from the locators and servers
so I think what you are seeing is actually expected. In this case the
client might still think it has a connection to the killed server, and
would not actually discover that the connection is dead until it tries to
send the new function to that server.

-Dan

On Tue, Jul 26, 2016 at 1:44 AM, Olivier Mallassi <
olivier.malla...@gmail.com> wrote:

> Hi all,
>
> I would need your help to better understand the behavior I have observed
> (regarding function execution with node failure)
>
> - I have a function (optimizeForWrite=true, hasResult=true, isHA=true)
> that is executed (onRegion(mypartitionedRegion)) every two minutes (poll
> frequency has been increased for test)
> - then, just after a execution of the function I kill -9 one of the
> member (member-timeout=1)
> - then, the function is executed again (around 2 min later). In that case,
> the function is executed twice (on the remaining members).
> In that case, the context.isDuplicate() returns true so that I just exit
> the function
>
>
> if (functionContext.isPossibleDuplicate()) {
>     logger.warning(....
>     //exit
>     functionContext.getResultSender().lastResult(null);
> }
>
>
> The function being HA, this is the expected behavior.
>
> Yet, what I do not understand is that it seems the "node failure" is
> detected only when the function is executed where as the node failure has
> already been broadcasted (Membership cluster). Can someone give me more
> insights on this? Is this a misconfig between client / locator so that
> client are still not aware of the node failure?
>
>
> Many thx.
>
> oliv/
>

Reply via email to