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

Producer flow control not applied for delivery based on routing key

XMLWordPrintable

      When the disk space usage reaches the max-disk-usage set in the broker configuration, producer flow control is triggered and the producers shall be blocked. That works well when the endpoint is an address (of a queue or topic). However, when routing key based delivery is used the producers are not blocked.

      This may in result lead to the service unavailability when the disk gets full.

      Steps to reproduce:
      1. pip install cli-proton-python (or use any other amqp client)
      2. fill the disk space above the threshold set by max-disk-usage in the next step
      3. run the broker w/ configured max-disk-usage
      4. following message appears in the broker log:

      AMQ222210: Storage usage is beyond max-disk-usage. System will start blocking producers
      

      5. run a producer that attaches to existing address on the broker and see that the produce is blocked

      cli-proton-python-sender -b localhost:5672/examples
      

      6. run another producer, but use <hostname>:<port> as the broker-url and set the message amqp 'to' fields to an existing address

      cli-proton-python-sender -b localhost:5672 --msg-address examples
      

      7. message was sent to examples queue and can be consumed, the producer was not blocked by the flow control

              gaohoward Howard Gao
              pematous Petr Matousek
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: