[erlang-questions] Erlang message passing delay after abnormal network disconnection

Eranga Udesh eranga.erl@REDACTED
Tue Mar 4 12:03:28 CET 2008


I can regenerate the behavior by stopping the network interface in the far
node (linux ifdown). That runs the connected Erlang node, which was
receiving the messages. I wonder if this how the Erlang implementation is or
local to this particular setup.

Also I use HIPE. I'll try what you suggested below and also without HIPE.

Thanks,
- Eranga






On Tue, Mar 4, 2008 at 2:08 PM, Ulf Wiger (TN/EAB) <ulf.wiger@REDACTED>
wrote:

>
> It sounds as if the sending node is blocked in auto-connect.
>
> Try the kernel environment variable {dist_auto_connect, once}.
> It will ensure that any attempt to send to a disconnected node
> immediately fails. If one of the nodes restarts, they will
> automatically reconnect, as usual. You can explicitly connect
> the two nodes by calling net_kernel:connect(Node).
>
> BR,
> Ulf W
>
> Eranga Udesh skrev:
> > The problem occurs when the network connectivity is broken (abnormally).
> > The receiving node is not receiving messages. The sending  processes are
> > blocked, since those message delivery calls (gen_event:notify/s, etc)
> > are waiting for about 10 secs to return. We checked the implementation
> > of such calls and notice, the functions are waiting until the messages
> > are delivered to the receiving node. Is there's a way (a system flag may
> > be) to avoid such blocking and to return immediately?
> >
> > BRgds,
> > - Eranga
> >
> >
> >
> > On Mon, Mar 3, 2008 at 6:51 PM, Chandru
> > <chandrashekhar.mullaparthi@REDACTED
> > <mailto:chandrashekhar.mullaparthi@REDACTED>> wrote:
> >
> >     On 03/03/2008, Eranga Udesh <eranga.erl@REDACTED
> >     <mailto:eranga.erl@REDACTED>> wrote:
> >      > Hi,
> >      >
> >      > I am experiencing a high message passing delay between 2 Erlang
> >     nodes, after
> >      > an abnormal network disconnection. Those 2 nodes are in a WAN and
> >     there are
> >      > multiple Hubs, Switches, Routes, etc., in between them. If the
> >     message
> >      > receiving Erlang node stopped gracefully, the delay doesn't
> >     arise. Doing
> >      > net_adm:ping/1 to that node results no delay "pang". However
> >      > gen_event:notify/2, gen_server:cast/2, etc. are waiting for about
> >     10 seconds
> >      > to return.
> >      >
> >      > What's the issue and how this can be avoided?
> >
> >     Have you tried putting a snoop to see whether the delay is on the
> >     sending/receiving side?
> >
> >     This might be useful: http://www.erlang.org/contrib/erlsnoop-1.0.tgz
> >
> >     cheers
> >     Chandru
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > erlang-questions mailing list
> > erlang-questions@REDACTED
> > http://www.erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20080304/41d9fba6/attachment.htm>


More information about the erlang-questions mailing list