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

Messages that don't match local consumers with selectors/filters should be redistributed

    XMLWordPrintable

Details

    • Story
    • Resolution: Done
    • Major
    • AMQ 7.9.0.CR2
    • None
    • None
    • None

    Description

      The use of selectors (client-side filters) is problematic with a mesh of AMQ 7 brokers. This situation is well-documented [1]. The problem is that AMQ 7 coordinates message distribution at the broker, rather than the client, level. If a potential consumer is not connected to any broker, for whatever reason, when messages arrive that would match its selector, those messages are not distributed. Whether the consumer ever receives the messages depends on the broker it connects to. In a system with load balancers in front of the brokers, the client has no control over that.

      In general, we cannot ensure that a client will be connected to any broker when messages arrive that would match its selector. The client may simply crash; but it may be shut down for maintenance. Or, quite commonly, the design calls for clients to connect only at certain times.

      This limitation particular affects customers who want to upgrade from AMQ 6 to AMQ 7. They may have designed a system that relies on selectors working correctly in a mesh, as they do in AMQ 6. These customers are unable to upgrade, except by substantial re-engineering.

      https://access.redhat.com/documentation/en-us/red_hat_amq/7.7/html/configuring_amq_broker/setting-up-broker-cluster-configuring#assembly_br-enabling-message-redistribution_configuring

       

      Attachments

        Issue Links

          Activity

            People

              gtully@redhat.com Gary Tully
              rhn-support-kboone Kevin Boone
              Votes:
              3 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: