If the queueLimit property is set to a finite value to limit the maximum number of messages that can be queued, a race condition exist such that the producer and consumer threads (i.e. client and server threads, roles varying based on the direction the data is flowing) of the broker can become deadlocked.
When this condition occurs, both the producer and consumer threads become blocked on a wait(), from which neither will return. This will cause a request to be hung, making the agent unavailable for handling future requests. This could eventually lead to exhaustion of all agents and hanging of the entire application.
When a request becomes blocked in this manner (i.e. both client and server threads of a request are waiting for each other), the server thread will be unresponsive to admin operations such as shutdown or certain queries.