I've got a grid of 6 nodes/servers running emongo with 20 connections each to a mongodb server. One of them will 'trip' and a timeout exception will raise causing all subsequent emongo_conn:send_recv/4 to also throw that timeout exception. Once it gets into this mode the only way to resolve the issue is to stop/start the emongo app (and any apps that depend on it).
exception exit: timeout
in function gen:wait_resp_mon/3
in call from emongo_conn:send_recv/4
Got a fix for this on my fork. Going to send a pull request as soon as I do a little more testing.
make timeout longer