[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