[
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)