Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Bug
-
0.51.0
-
None
-
None
Description
When I try to connect to a persistent queue on a RabbitMQ broker with activated AMQP 1.0 plugin, the connection hangs for an infinite time (or at least for a very long time).
There is no error, the connection just hangs. The tack trace in this situation for a producer is:
BalancedProviderFuture(Object).wait() line: 502 BalancedProviderFuture.sync() line: 136 JmsConnection.createResource(JmsResource, ProviderSynchronization) line: 693 JmsMessageProducer.<init>(JmsProducerId, JmsSession, JmsDestination) line: 73 JmsQueueSession(JmsSession).createProducer(Destination) line: 664 JmsQueueSession.createProducer(Destination) line: 97
The stack trace for a consumer is:
BalancedProviderFuture(Object).wait() line: 502 BalancedProviderFuture.sync() line: 136 JmsConnection.createResource(JmsResource, ProviderSynchronization) line: 693 JmsMessageConsumer.<init>(JmsConsumerId, JmsSession, JmsDestination, String, String, boolean) line: 125 JmsMessageConsumer.<init>(JmsConsumerId, JmsSession, JmsDestination, String, boolean) line: 82 JmsQueueSession(JmsSession).createConsumer(Destination, String, boolean) line: 478 JmsQueueSession.createConsumer(Destination, String, boolean) line: 70 JmsQueueSession(JmsSession).createConsumer(Destination, String) line: 466 JmsQueueSession.createConsumer(Destination, String) line: 59 JmsQueueSession(JmsSession).createConsumer(Destination) line: 458 JmsQueueSession.createConsumer(Destination) line: 48
I am aware that the AMQP 1.0 plugin in RabbitMQ is not very mature, but I don't think that the client threads should be blocked forever even when trying to communicate with misbehaving servers.
The issue will not happen with transient queues on RabbitMQ (here everything works as expected).