connection.blocked: low on disk
When a node runs short of disk space or memory, RabbitMQ raises a resource alarm and blocks every connection that publishes. Consumers keep running, so the queues can drain. What your publishers notice depends on the client, and the default is to notice nothing. Measured on RabbitMQ 4.3.6 with pika 1.3.2, the alarm raised by setting the disk free limit above the free space.
basic_publish call returned at once. The client had written the message to the socket; the broker did not read it.connection.blocked with the reason low on disk.blocked_connection_timeout=5, pika gave up after 5 seconds with ConnectionBlockedTimeout and closed the connection. The message was not in the queue.Without a timeout (pika's default), the publisher waits until the alarm clears, however long that is: requests pile up in front of it, threads hang, health checks that only look at "connected" stay green.
rabbitmq-diagnostics alarms shows the active alarm; disk_free_limit and vm_memory_high_watermark are the thresholds.