[erlang-questions] error_logger and the perils of asynchronicity

Per Melin <>
Thu May 14 22:52:59 CEST 2009


Ulf Wiger:
> in all fairness I should say that the system most likely
> would have died of other causes, but in the cases I've
> seen, error_logger has been among the 3 largest processes
> each time.

All the times the error_logger has crashed a node for me it has been
with a huge message queue. The last time it was a broken script
connecting to a web service of mine that did some 100 000 requests in
a tight loop. The rest of my app could easily handle it, but not the
logger. And error_logger is cursed by a selective receive, so the
further it falls behind, the slower it gets.

> I think there are very good reasons to remove the penalty
> on send, making ! even more asynchronous. I think that today,
> gen_server:call() is so fast that there may not be any need
> for a new primitive, but it's doubtful whether gen_event
> could be modified to use calls due to BW compatibility reasons.

gen_event does have sync_notify/2.



More information about the erlang-questions mailing list