[ 
https://issues.apache.org/jira/browse/ARTEMIS-4473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Bertram updated ARTEMIS-4473:
------------------------------------
    Description: 
When a message arrives on a source address, and is diverted to a target 
address, the message will be routed to the target address even if that target 
address is full and its address-full-policy is set to {{BLOCK}}. So if I have 
an address {{app.source-addr}} which has space available. I can send messages 
to it without issue. If that address has a divert configured to route the 
messages to {{app.target-addr}}, they will be routed to that target address 
without issue. Even if {{app.target-addr}} is full and is blocked.

Sample config:
{code:xml}
<address-settings>
  <address-setting match="app.target-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}

  was:
When a message arrives on a source address, and is diverted to a target 
address, the message will be routed to the target address even if that target 
address is full and its address-full-policy is set to BLOCK. So if I have an 
address "app.source-addr" which has space available. I can send messages to it 
without issue. If that address has a divert configured to route the messages to 
"app.target-addr", they will be routed to that target address without issue. 
Even if "app.target-addr" is full and is blocked.

 

Sample config:
<address-settings>
  <address-setting match="app.target-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>


> Diverts do not block when target address is full
> ------------------------------------------------
>
>                 Key: ARTEMIS-4473
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4473
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.31.0
>            Reporter: Josh Reagan
>            Priority: Minor
>
> When a message arrives on a source address, and is diverted to a target 
> address, the message will be routed to the target address even if that target 
> address is full and its address-full-policy is set to {{BLOCK}}. So if I have 
> an address {{app.source-addr}} which has space available. I can send messages 
> to it without issue. If that address has a divert configured to route the 
> messages to {{app.target-addr}}, they will be routed to that target address 
> without issue. Even if {{app.target-addr}} is full and is blocked.
> Sample config:
> {code:xml}
> <address-settings>
>   <address-setting match="app.target-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