Hi,


we encountered issue with reject queue. Reject queue calculates wrong size
of incoming message. Incoming message size also increases when sending
further messages. Each rejected message increases calculated incoming
message size.



Steps to reproduce:

1] Create topic exchange

2] Create standard queue with reject policy (count: 2, size: 1024000)

3] Create binding between exchange and queue

4] Create and connect consumer which will indefinitely consume all messages
from queue

5] Send thousand of 512kB messages to exchange



Sender sends all messages, but receiver will not receive all messages.



After that queue is in some wrong state and you cannot send messages to
queue even if queue is empty. All messages are rejected because of size
even if size of incoming message is less then queue maximum size (sent
messages had 100 bytes payload).



Client shows exceptions like:



javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20684070], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]

javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20684762], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]

javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20686146], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]

javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20686838], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]

javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20687530], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]

javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20688222], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]

javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20688914], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]

javax.jms.ResourceAllocationException: Maximum depth exceeded on 'queue' :
current=[count: 1, size: 20689606], max=[count: 2, size: 1024000]
[condition = amqp:resource-limit-exceeded]



Regards,
Tomas

Reply via email to