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

Justin Bertram updated ARTEMIS-4472:
------------------------------------
    Description: 
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:xml}
<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}

  was:
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}
 

 


> 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
>            Priority: Minor
>
> 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:xml}
> <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