[rabbitmq-discuss] RabbitMQ not responding / not sending any errors to client

Vlad Alexandru Ionescu vlad at rabbitmq.com
Wed Sep 15 13:03:25 BST 2010


If the broker is overwhelmed by a producer, it sends a channel.flow 
command to the client, telling it to stop sending content. Our clients 
respond automatically to that message and block further publishes from 
the user application until the broker says it's ok to do so.

If you want to detect when that happens in your program, you need to use 
Channel.setFlowListener to listen to channel.flow events.

Conversely, if you are consuming from the broker and the amount of 
messages overwhelm your application, you can use Channel.flow(false) to 
pause the broker from sending and then Channel.flow(true) to resume.


On 09/13/2010 03:32 PM, diez wrote:
> Hi,
> we are evaluating Rabbit as a solution for huge high performance and
> high load environment.
> During our tests we found encountered some problems with the clients we
> used.
> Our Environment consists of the following:
> RabbitMQ using the new persister (version 2.0.0)
> Debian Linux Lenny 5.0 (without any special tweaks)
> Consumer and Producer written in Java with the spring-source generic
> library (2.0.0) taken from rabbitmq website.
> Our primary concern:
> When the RabbitMQ Server runs into the vm_memory_high_watermark (or any
> other load related issue) it does NOT communicate this to the clients.
> We are not able to detect this failure on the client side. Obviously
> there is a mechanism included in the Java client that seems to be the
> right place to implement code to deal with this situation.
>          channel.setReturnListener(new ReturnListener() {
>                  @Override
>                  public void handleBasicReturn(int arg0, String arg1,
> String arg2,
>                          String arg3, BasicProperties arg4, byte[] arg5)
> throws IOException {
>                      System.out.println("Error: " + arg1);
>                  }
>              });
> If we run into the situation descibed above the ReturnListener isn't
> invoked at all. Please note: The Server  (better the OTP Environment) is
> configured not to consume all the systems memory, we decreased the
> vm_memory_high_watermark to a realtively low level of some megs. So the
> underlying operation system should not be the problem.
> Is it necessary to configure the server in a special way to make this
> work or are we missing anything else?
> Sincerely your's
> Dieter Schmidt
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

More information about the rabbitmq-discuss mailing list