[rabbitmq-discuss] Large Message Timeout on Receive

Emile Joubert emile at rabbitmq.com
Mon May 31 13:35:31 BST 2010


The .net client currently imposes an arbitrary limit of 32Mb on incoming 
messages. If you exceed this size then a BodyTooLongException will be 
thrown. Modifying this limit involves changing 
MaximumPermittedReceivableBodySize in ContentHeaderBase and recompiling.

In attempting to replicate your results on commodity hardware I was able 
to send and receive messages of up to 500Mb before the client ran out of 
RAM. Transfers took a few seconds and BasicGet never failed to return.

Can you confirm whether there was any network activity on port 5672 
while waiting for BasicGet?
Also, what is the output of "rabbitmqctl list_queues messages_ready 
messages_unacknowledged memory" on the broker?



Op 28/05/2010 17:56, Teising, Ryan (FICC Principal Technology) het geskryf:
> Sure, the server version is 1.7.2 and the .NET API Dll is 1.7.2 too.
> Thanks.
> Ryan Teising
> 1 Bryant Park
> 9th Floor, 09N-221
> New York, NY 10036
> Office: 646-855-2611
> Mobile: 201-710-0718
> -----Original Message-----
> From: rabbitmq-discuss-bounces at lists.rabbitmq.com
> [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Simon
> MacMullen
> Sent: Friday, May 28, 2010 12:28 PM
> To: rabbitmq-discuss at lists.rabbitmq.com
> Subject: Re: [rabbitmq-discuss] Large Message Timeout on Receive
> Hi Ryan.
> There certainly should not be a problem with messages of that size. I
> don't have a .NET development environment to hand right now but as a
> sanity check I converted your test program into Python and it worked
> fine (against 1.7.2).
> I'll poke about in the .NET client next week - in the meantime can you
> confirm the client and server versions you're using?
> Cheers, Simon
> On 28/05/10 16:26, Teising, Ryan (FICC Principal Technology) wrote:
>> I put together the attached sample code (using the .NET API).
>> <<Program.cs>>
>> I put 10 messages on a queue, and then I try to read those same
> messages
>> off of the queue.
>> The first call to BasicGet returns the first message, but the second
>> call to BasicGet never returns. If I reduce the size of the of the
>> messages down to 4096 bytes (instead of 2097152), then the BasicGet
>> calls work as expected.
>> Is there a size limitation on on messages that can be put on the
> queue?

More information about the rabbitmq-discuss mailing list