Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-5898

Physical queues forwarded from many virtual destinations no longer supported

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.11.1
    • 5.13.0, 5.12.2
    • None
    • None
    • Regression

    Description

      Hi Tim,

      AMQ-5187 breaks some of our message routing where we use virtual queues to control mirroring/replication of messages.

      A simple example...

      VIRTUAL.PUB.ALL
      -> queue://SUBSCRIBER1
      -> queue://SUBSCRIBER2
      
      VIRTUAL.PUB.SUBSCRIBER1
      -> queue://SUBSCRIBER1
      

      ...fails this assert because there are two composite destinations that route to queue://SUBSCRIBER1. With asserts disabled messages are routed as expected.

      I have attached a test case exemplifying this.

      We use layers of composite queues to achieve explicit routing of messages to either one consumer or all consumers, and (also with static subscriptions) to target optimal routes across a mixture of LAN and WAN links.

      Fully appreciate that subscription recovery from virtual topics of a mapped queue is a beneficial thing to do, however from our perspective it is also useful to retain the behaviour of being able to have a many-to-one mapping between composite queues and physical queues. For our own use case we don't have any requirement for subscription recovery - we require cast-iron guarantees around messaging so all messages persistent and are delivered to one or more physical queues on brokers with persistence enabled, so this obviates the need for subscription recovery.

      Could this validation relaxed, could it be made possible for the new behaviour to be disabled or do you have any suggestions as to how else we could achieve our use case?

      Thanks,
      James

      Attachments

        Issue Links

          Activity

            People

              cshannon Christopher L. Shannon
              furn James Furness
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: