<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div><br></div><div>I've been having this odd issue lately with a system.  I have a file opened with</div><div><br></div><div>  file:open (File, [ write, raw, compressed ])</div><div><br></div><div>Held in a gen_server state, and send message which are then written to the file with</div><div><br></div><div>  file:write (FileHandle, Bytes)</div><div><br></div><div>However, every so often, the file:write/2 call just stops working and essentially blocks.</div><div>This causes the mailbox of the gen_server to slowly fill up and eventually the node runs out of memory.  We currently work around this issue, but I'm wondering if anyone has seen this sort of thing before, or has any ideas around work arounds?</div><div><br></div><div>I'm not sure if this is non-blocking call or not, if not is there an alternate file call which is non-blocking?  Does compression cause additional issues?  Is the fact that it's writing to an SSD have any bearing?</div><div><br></div><div>The system is</div><div><br></div><div>CentOS 5.4</div><div>Erlang R15B02</div><div><br></div><div>Thanks,</div><div><br></div><div>-Anthony</div><div><br></div><div>PS. The actual code is here in case anyone feels like a deeper look</div><div><a href="https://github.com/lwes/lwes-erlang/blob/master/src/lwes_journaller.erl">https://github.com/lwes/lwes-erlang/blob/master/src/lwes_journaller.erl</a></div><div><br></div><div><br></div></body></html>