Skip to content

Spring AMQP Consumer pauses after running for sometime [AMQP-621] #2176

@spring-operator

Description

@spring-operator

Mithra Kottravel opened AMQP-621 and commented

We have a 2 node RabbitMQ cluster with Ha-all policy. We use Spring AMQP in our application to talk to RabbitMQ. Producer part is working fine, but consumer works for some time and pauses. Producer and consumer are running as different applications. More information on Consumer part.

  • we use SimpleMessageListenerContainer with ChannelAwareMessageListener, use Manual ack mode and default prefetch(1)
  • In our application we create queue (on-demand) and add it to the listener
  • When we started with 10 ConcurrentConsumers and 20 MaxConcurrentConsumers, consumption happens for around 15 hours and pauses. This situation happens within 1 hour when we increase the MaxConcurrentConsumers to 75.

On RabbitMQ UI, we see channels with 3/4 unacked messages on the channel tab when this situation occurs, until then it just have 1 unacked message.

Having heartbeat set to 60 did not help improve this situation.

We dynamically add and remove queues to SimpleMessageListenerContainer and we suspect this is causing some problem, because every time we add or remove a queue from the listener, all the BlockingQueueConsumer are removed and created again.
@GaryRussell, suggested to create Jira ticket. Please let me know if you need more information.

Spring AMQP version: 1.6.0.RELEASE
Thread Dump: pastebin.com/UrBLfn2C
Stackoverflow Link: http://stackoverflow.com/questions/38134687/spring-amqp-consumer-pauses-after-running-for-sometime?noredirect=1#comment63848781_38134687


Affects: 1.6 GA

Reference URL: http://stackoverflow.com/questions/38134687/spring-amqp-consumer-pauses-after-running-for-sometime

Referenced from: pull request #432

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions