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

[LTS] Addresses that includes temporary queue keep to remain If the broker is shut down

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • AMQ 7.4.5.GA
    • None
    • None
    • +
    • Hide
      Cause: When a JMS client invokes `createTemporaryQueue` on `javax.jms.Session` an address and temporary queue will be created on the broker. If the broker crashes or is shutdown before the client disconnects cleanly then when the broker restarts the temporary queue won't be there (as expected) but the address will remain and will not be auto-deleted., Consequence: Addresses with no queues will accumulate on the broker forcing manual administrative intervention, Fix: Add metadata to the address to track whether or not it is temporary, Result: Temporary addresses are not reloaded when the broker restarts.
      Show
      Cause: When a JMS client invokes `createTemporaryQueue` on `javax.jms.Session` an address and temporary queue will be created on the broker. If the broker crashes or is shutdown before the client disconnects cleanly then when the broker restarts the temporary queue won't be there (as expected) but the address will remain and will not be auto-deleted., Consequence: Addresses with no queues will accumulate on the broker forcing manual administrative intervention, Fix: Add metadata to the address to track whether or not it is temporary, Result: Temporary addresses are not reloaded when the broker restarts.
    • Verified in a release
    • Hide
      1. Prepare <AMQ Broker>/examples/features/standard/temp-queue
      2. Add Thread.sleep() after the step 13.
                 // Step 13. Close the consumer and producer
                 messageConsumer.close();
                 messageProducer.close();
        
                 Thread.sleep(6000000);
        
                 // Step 14. Delete the temporary queue
                 tempQueue.delete();
        
      3. Start AMQ Broker
      4. Execute the temp-queue example
        mvn clean install -DnoServer
        
      5. Stop AMQ Broker while Thread.sleep()
      6. => the temporary addresses keep to remain. (temporary queue is deleted)
      7. => <auto-delete-addresses> doesn't work
      Show
      Prepare <AMQ Broker>/examples/features/standard/temp-queue Add Thread.sleep() after the step 13. // Step 13. Close the consumer and producer messageConsumer.close(); messageProducer.close(); Thread .sleep(6000000); // Step 14. Delete the temporary queue tempQueue.delete(); Start AMQ Broker Execute the temp-queue example mvn clean install -DnoServer Stop AMQ Broker while Thread.sleep() => the temporary addresses keep to remain. (temporary queue is deleted) => <auto-delete-addresses> doesn't work

      • If the broker is shut down before the temporary addresses(that include temporary queue) are deleted the addresses keep to remain.
      • <auto-delete-addresses> doesn't work to delete these addresses, despite no queue, so it will not be a workaround.

              rhn-support-jbertram Justin Bertram
              rhn-support-tyamashi Tomonari Yamashita
              Tiago Bueno Tiago Bueno
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: