<div dir="ltr"><div>Hello,<br><br></div>Today, I found RabbitMQ in a non-responsive state. It shut down due to insufficient number of file descriptors. The reason was that one queue was overloaded with messages and RabbitMQ dumped a lot of messages into temp files, keeping them open. `lsof' showed something like:<br>
<br>beam.smp 23236 rabbitmq 77u REG 251,0 0 1574055 /var/lib/rabbitmq/mnesia/rabbit@d<br>bx/queues/B36DQ7YBKCJQXP3FJIJYVP8FR/journal.jif<br>beam.smp 23236 rabbitmq 78u REG 251,0 0 1574067 /var/lib/rabbitmq/mnesia/rabbit@d<br>
bx/queues/E2OCOOGFQWGZ7QU7V4PDME9BU/journal.jif<br>beam.smp 23236 rabbitmq 79u REG 251,0 0 361 /var/lib/rabbitmq/mnesia/rabbit@dbx/queues/A3RS8QB81UX1HCFPVOUD9SQIF/journal.jif<br>beam.smp 23236 rabbitmq 80u REG 251,0 0 1574069 /var/lib/rabbitmq/mnesia/rabbit@dbx/queues/122SUYRH75USFEOUF8UJ1E9YP/journal.jif<br>
beam.smp 23236 rabbitmq 81u REG 251,0 0 3411720 /var/lib/rabbitmq/mnesia/rabbit@dbx/queues/90OT1K6VYE7TUBR6GI1CMU8BT/journal.jif<br>beam.smp 23236 rabbitmq 82u IPv6 1449769938 0t0 TCP *:amqp (LISTEN)<br>
beam.smp 23236 rabbitmq 83r REG 251,0 16405205 2097797 /var/lib/rabbitmq/mnesia/rabbit@dbx/msg_store_transient/1355.rdq<br>beam.smp 23236 rabbitmq 84r REG 251,0 16777279 2100373 /var/lib/rabbitmq/mnesia/rabbit@dbx/msg_store_transient/21679.rdq<br>
beam.smp 23236 rabbitmq 85r REG 251,0 16777566 2098314 /var/lib/rabbitmq/mnesia/rabbit@dbx/msg_store_transient/19328.rdq<br>beam.smp 23236 rabbitmq 86r REG 251,0 16777490 2097792 /var/lib/rabbitmq/mnesia/rabbit@dbx/msg_store_transient/19025.rdq<br>
<div><br></div><div>These journal.jif and *rdq files consumed all file handles.<br><br>But the strange thing was that the queue with 50 million messages was visible in the management interface, but not in `rabbitmqctl list_queues' output. What might be the cause? <br>
<br></div><div>And, while we're at it, shouldn't RabbtiMQ close the temporary files it creates when there's not enough memory?<br><br></div><div>Thank you.<br clear="all"></div><div><div><br>-- <br>With best regards,<br>
Dimitri Minaev
</div></div></div>