Erlang dropping packets sent from ei

Andrew Thompson andrew@REDACTED
Thu Mar 4 19:44:12 CET 2010


I've been noticing an odd issue when I send a burst of erlang messages
to erlang via ei from a C node. It *looks* like if 2 messages get put in
the same packet (and maybe that the tail of the second message extends
to a second packet) erlang will not process the message.

I tried enabling TCP_NODELAY on the socket on the C node and it seemed
to help the issue somewhat, although not enough to eliminate it
completely.

Attached is a pcap file with some packets showing the issue. The packets
in question are 21786-7 and 21794-5 and in each case the second message
seems to be dropped by erlang. The erlang messages are of the form
{fetch, Section :: atom(), Tag :: string(), Key :: string(), Value ::
string(), ID :: string(), Params :: proplist()} and as can be seen,
those packets contain 2 messages of that form, the second one continued
in the subsequent packet.

When I use TCP_NODELAY the messages are sent one per packet so its not
so clear why some packets are getting lost.

Anyone have any ideas why this is happening or how to fix it?

Andrew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ei.pcap
Type: application/octet-stream
Size: 8538 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20100304/dc282616/attachment.obj>


More information about the erlang-questions mailing list