Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-36

AMQ119018: Binding already exists LocalQueueBinding

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • A-MQ 7.0.0.GA
    • A-MQ 7.0.0.ER9
    • None
    • None
    • Hide

      1. Start the broker
      2. Run a qpid consumer that spawns two threads, where each thread creates a separate connection to the broker.
      3. From each connection create a session and corresponding consumer object to the same target queue.

      The exception does not occur if :

      • the queue previously exists; i.e., has pending messages.
      • instead of creating two separate connections, create one connection from which the two sessions are created.
      • you separate out the two connections so that they are made from different consumer processes

      Problem also does not occur when using "5.11.0.redhat-621084" OpenWire consumers

      Show
      1. Start the broker 2. Run a qpid consumer that spawns two threads, where each thread creates a separate connection to the broker. 3. From each connection create a session and corresponding consumer object to the same target queue. The exception does not occur if : the queue previously exists; i.e., has pending messages. instead of creating two separate connections, create one connection from which the two sessions are created. you separate out the two connections so that they are made from different consumer processes Problem also does not occur when using "5.11.0.redhat-621084" OpenWire consumers

      Qpid client receives the following WARN and exception:

      INFO | Best match for SASL auth was: SASL-PLAIN
      INFO | Best match for SASL auth was: SASL-PLAIN
      INFO | Connection ID:a7e9fa2a-662e-4bec-8556-b1047cb718ad:1 connected to remote Broker: amqp://10.0.1.21:5672
      INFO | Connection ID:a745c26b-e2f3-4626-a86c-39e8d83c2da4:2 connected to remote Broker: amqp://10.0.1.21:5672
      WARN | Open of resource:(JmsConsumerInfo: { ID:a745c26b-e2f3-4626-a86c-39e8d83c2da4:2:1:1, destination = jms.queue.TOOL.DEFAULT }) failed: AMQ119018: Binding already exists LocalQueueBinding [address=jms.queue.TOOL.DEFAULT, queue=QueueImpl[name=jms.queue.TOOL.DEFAULT, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::serverUUID=b6fbef61-7074-11e6-8905-507b9d665d40]]@55feafd0, filter=null, name=jms.queue.TOOL.DEFAULT, clusterName=jms.queue.TOOL.DEFAULTb6fbef61-7074-11e6-8905-507b9d665d40] [condition = amqp:internal-error]
      Caught: javax.jms.JMSException: AMQ119018: Binding already exists LocalQueueBinding [address=jms.queue.TOOL.DEFAULT, queue=QueueImpl[name=jms.queue.TOOL.DEFAULT, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::serverUUID=b6fbef61-7074-11e6-8905-507b9d665d40]]@55feafd0, filter=null, name=jms.queue.TOOL.DEFAULT, clusterName=jms.queue.TOOL.DEFAULTb6fbef61-7074-11e6-8905-507b9d665d40] [condition = amqp:internal-error]
      javax.jms.JMSException: AMQ119018: Binding already exists LocalQueueBinding [address=jms.queue.TOOL.DEFAULT, queue=QueueImpl[name=jms.queue.TOOL.DEFAULT, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::serverUUID=b6fbef61-7074-11e6-8905-507b9d665d40]]@55feafd0, filter=null, name=jms.queue.TOOL.DEFAULT, clusterName=jms.queue.TOOL.DEFAULTb6fbef61-7074-11e6-8905-507b9d665d40] [condition = amqp:internal-error]
      	at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:148)
      	at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:103)
      	at org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.handleClosed(AmqpResourceBuilder.java:167)
      	at org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.processRemoteClose(AmqpResourceBuilder.java:113)
      	at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:795)
      	at org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:92)
      	at org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:699)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      The above only occurs if the one consumer creates two threads that each create a connection.

            fnigro Francesco Nigro
            Argo_Integration Travis North (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: