Uploaded image for project: 'Qpid JMS'
  1. Qpid JMS
  2. QPIDJMS-504

Connections hangs when trying to connect to a RabbitMQ persistent queue

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Bug
    • Affects Version/s: 0.51.0
    • Fix Version/s: None
    • Component/s: qpid-jms-client
    • Labels:
      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).

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              siano Stephan Siano
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: