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

Justin Bertram resolved ARTEMIS-627.
------------------------------------
    Resolution: Fixed

> Docuement details of producer block over CORE protocol
> ------------------------------------------------------
>
>                 Key: ARTEMIS-627
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-627
>             Project: ActiveMQ Artemis
>          Issue Type: New Feature
>            Reporter: Martyn Taylor
>            Priority: Major
>
> To BLOCK production of messages to an address once it reaches a particular 
> size in memory, an AddressSetting can be added to the broker that specifies 
> the address size, address match string and the address full policy "BLOCK".
> This should block messages once the address is full, however the current 
> implementation uses flow control to allocate producers credits, once the 
> address is full the broker will not allocate any more credits.
> There are two issues with this approach.
> 1. The main issue is that the credits are not tracked or checked at the 
> broker side.  The ActiveMQ client takes care of blocking message production 
> when it runs out of credit.  However, a rogue client could easily allocate 
> it's own credits and continue sending.  I've tested this by hacking the 
> client and it behaves in this way.
> 2. Even in a non hacked client the size of the address could be pushed over 
> it's limit, as more credits can be allocated than is available space on the 
> address.  An address can be full, no more credits are allocated but each 
> producer is able to empty it's credits pushing the address over its limit.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to