Josh Reagan created ARTEMIS-4472:
------------------------------------

             Summary: Diverts block when target address is not blocked
                 Key: ARTEMIS-4472
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4472
             Project: ActiveMQ Artemis
          Issue Type: Bug
          Components: Broker
    Affects Versions: 2.31.0
            Reporter: Josh Reagan


When using an exclusive divert with an address-full-policy set to BLOCK, the 
divert will become blocked when the source address reaches its limit. This 
happens even if the target address has space and is not blocked. For instance, 
if I have an address "app.source-addr", and a divert picking up select messages 
from that source address and routing them to "app.target-addr". If the address 
"app.source-addr" becomes full and blocks, producers are no longer able to send 
messages. Even though the messages they sent would be routed to the 
"app.target-addr", and that address still has space available.

 

Sample config:

 
{code:java}
<address-settings>
  <address-setting match="app.source-addr">
    <max-size-messages>5</max-size-messages>
    <address-full-policy>BLOCK</address-full-policy>
  </address-setting>
</address-settings>

<addresses>
  <address name="app.source-addr">
    <anycast/>
  </address>
</addresses>

<diverts>
  <divert name="divert-app.source-addr">
    <address>app.source-addr</address>
    <forwarding-address>app.target-addr</forwarding-address>
    <exclusive>true</exclusive>
  </divert>
</diverts>
{code}
 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to