[ 
https://issues.apache.org/jira/browse/ARTEMIS-4472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17779587#comment-17779587
 ] 

Josh Reagan commented on ARTEMIS-4472:
--------------------------------------

Thanks for taking a look [~jbertram]. I think documenting would be acceptable 
solution. Certainly preferred over anything that would negatively impact 
performance. That said, can you think of any way to modify a message's routing 
before it hits an address? The only thing I could think of was an interceptor. 
But I'm not crazy about that solution as they're protocol dependent.

> 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