I\'ve had a RabbitMQ server running for months. This morning I was unable to connect to it, my applications was timing out and the Management client was unresponsive. Reboot
I figured out what was going on. Someone on my team (me) was creating an unprecedented amount of connections to RabbitMQ. For each connection a file handler is created to one or more files, not sure which. The OS (Windows in my case) has a file handler limit, not sure what the limit is, but when reached, an error is thrown. This corrupted the virtual host (/) and I had to delete it and create it again. Good thing this wasn't production, because then all the messages would've been gone.
Edit (June 2020):
There might be a fix for this so it can't happen again. A virtual host can be limited in how many connections they allow. This way Windows won't faulter on the many file handles. Look in the management portal -> Admin -> Limits, set max-connections to a number you think it plausible for your setup.
I opted to recreate the vhost which resolved the issue for me.
Clearing the data in transient msg_stores & queues didn't work for me in my scenario. Since data loss wasn't an issue for me.
For me, I was trying to install management plugin (rabbitmqadmin) and it failed in rabbitmq-delayed-message-exchange. So I downloaded rabbitmq-delayed-message-exchange from JFrog Bintray and updated my plugins folder, stopped and started rabbitmq service. This action, courrupted the database.
To fix it,
Stop Rabbitmq service
I went to %APPDATA%\RabbitMQ\db and cleared the data in transient msg_stores & queues folders. e.g. C:\Users\bharath\AppData\Roaming\RabbitMQ\db\rabbit@js-mnesia\msg_stores\vhosts\6ZOILVXV632BBEWZY4TBABTPP\msg_store_transient
Removed the rabbitmq-delayed-message-exchange from rabbit@js-plugins-expand folder
Removed the data in transient msg_store & queues from RABBIT~1-upgrade-backup folder
Went one folder back and removed the plugin name rabbitmq-delayed-message-exchange, from enabled_plugins file
Start the rabbitmq service
It worked!!!
Note: Only try this if data is not important, as it will get cleared or you can restore it from backup.