You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Jose María Zaragoza <de...@gmail.com> on 2013/12/09 14:06:09 UTC

Basic questions about producer control flow

Hi:

I'm using AMQ 5.8 and I've got some basic questions about producer control flow

- if I disable producerControlFlow in broker , does still producers
receive ProducerAck messages/commands ?

- if I disable producerControlFlow in broker, the producers who send
persistent messages ,  does still they receive ProducerAck
messages/commands?

- if I disable producerControlFlow in broker and my producer sets
window size ( setProducerWindowSize ), what is the behaviour ?


Thanks and regards

Re: Basic questions about producer control flow

Posted by Jose María Zaragoza <de...@gmail.com>.
Documentation is confusing for me
I'm reading your post

http://www.christianposta.com/blog/?p=273

and I've got some questions

****If PCF is disabled ( producerControlFlow = false ) **** :

- do systemUsage limits matter ? is PCF the only componet which uses
these limits ?
- are these systemUsage limits also used by Store based cursors to
choose what messages go to disk?
- what happen if systemUsage limits are exceeded ? is the underlying
connection blocked ?


Thanks and regards



2013/12/9 Jose María Zaragoza <de...@gmail.com>:
> Thanks.
> About that page
>
> "By default, Store based cursors are used, but it is possible to
> configure different cursors depending on the destination."
>
> 2013/12/9 Christian Posta <ch...@gmail.com>:
>> http://activemq.apache.org/message-cursors.html
>>
>> if <broker persistent=true> then the File Pending Message Cursor is
>> used by default.
>> If <broker persistent=false> then i believe the VM cursors are used.
>>
>> On Mon, Dec 9, 2013 at 2:09 PM, Jose María Zaragoza
>> <de...@gmail.com> wrote:
>>>>> Futhermore, I've read that non-persistent messages are persisted to
>>>>> disk ( feature from AMQ 5.x ) , so it's more difficult that memory
>>>>> runs out
>>>>
>>>> If using a filePendingMessageLimitStrategy
>>>
>>> Thanks, but I dont find any reference to this property , where can I find it ?
>>>
>>> Is it the default configuration ? or is vmcursors ?
>>>
>>>
>>> Regards
>>
>>
>>
>> --
>> Christian Posta
>> http://www.christianposta.com/blog
>> twitter: @christianposta

Re: Basic questions about producer control flow

Posted by Jose María Zaragoza <de...@gmail.com>.
Thanks.
About that page

"By default, Store based cursors are used, but it is possible to
configure different cursors depending on the destination."

2013/12/9 Christian Posta <ch...@gmail.com>:
> http://activemq.apache.org/message-cursors.html
>
> if <broker persistent=true> then the File Pending Message Cursor is
> used by default.
> If <broker persistent=false> then i believe the VM cursors are used.
>
> On Mon, Dec 9, 2013 at 2:09 PM, Jose María Zaragoza
> <de...@gmail.com> wrote:
>>>> Futhermore, I've read that non-persistent messages are persisted to
>>>> disk ( feature from AMQ 5.x ) , so it's more difficult that memory
>>>> runs out
>>>
>>> If using a filePendingMessageLimitStrategy
>>
>> Thanks, but I dont find any reference to this property , where can I find it ?
>>
>> Is it the default configuration ? or is vmcursors ?
>>
>>
>> Regards
>
>
>
> --
> Christian Posta
> http://www.christianposta.com/blog
> twitter: @christianposta

Re: Basic questions about producer control flow

Posted by Christian Posta <ch...@gmail.com>.
http://activemq.apache.org/message-cursors.html

if <broker persistent=true> then the File Pending Message Cursor is
used by default.
If <broker persistent=false> then i believe the VM cursors are used.

On Mon, Dec 9, 2013 at 2:09 PM, Jose María Zaragoza
<de...@gmail.com> wrote:
>>> Futhermore, I've read that non-persistent messages are persisted to
>>> disk ( feature from AMQ 5.x ) , so it's more difficult that memory
>>> runs out
>>
>> If using a filePendingMessageLimitStrategy
>
> Thanks, but I dont find any reference to this property , where can I find it ?
>
> Is it the default configuration ? or is vmcursors ?
>
>
> Regards



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta

Re: Basic questions about producer control flow

Posted by Jose María Zaragoza <de...@gmail.com>.
>> Futhermore, I've read that non-persistent messages are persisted to
>> disk ( feature from AMQ 5.x ) , so it's more difficult that memory
>> runs out
>
> If using a filePendingMessageLimitStrategy

Thanks, but I dont find any reference to this property , where can I find it ?

Is it the default configuration ? or is vmcursors ?


Regards

Re: Basic questions about producer control flow

Posted by Christian Posta <ch...@gmail.com>.
On Mon, Dec 9, 2013 at 7:47 AM, Jose María Zaragoza
<de...@gmail.com> wrote:
> Thanks for your reply
>
> I'm trying to understand the advantages of enabling producer control
> flow in broker's activemq.xml configuration file, when I use
> non-persistent delivery
>
> Sorry, but I don't see any advantage, because I only can get a
> blocking in my producer.
> On the other hand, if I disable it , control flow is still managed by
> broker and messages for slow consumers are off-lined to disk storage

Well, this of course depends on your configuration. If you're
configured to not use persistence or to use VMCursors, you could very
well OOM :)

>
> Futhermore, I've read that non-persistent messages are persisted to
> disk ( feature from AMQ 5.x ) , so it's more difficult that memory
> runs out

If using a filePendingMessageLimitStrategy

>
> Which are advantages to enable producer control flow with
> non-persistent delivery ?
>
> If non-persisted message are persisted to disk ( by default ) , what
> is the advantage of non-persistent mode ?
>
>
> Thanks and regards
>
>
>
> 2013/12/9 Christian Posta <ch...@gmail.com>:
>> Yes, the protocol between the broker and client for sending/receiving
>> messages is still the same, ie, you would continue to get ACK messages
>> from the broker.
>>
>> If you set a producer window size, then byte counting/flow control is
>> handled at the client side for the default JMS openwire client. so you
>> would still experience throttling based on the client settings.
>>
>>
>>
>> On Mon, Dec 9, 2013 at 6:06 AM, Jose María Zaragoza
>> <de...@gmail.com> wrote:
>>> Hi:
>>>
>>> I'm using AMQ 5.8 and I've got some basic questions about producer control flow
>>>
>>> - if I disable producerControlFlow in broker , does still producers
>>> receive ProducerAck messages/commands ?
>>>
>>> - if I disable producerControlFlow in broker, the producers who send
>>> persistent messages ,  does still they receive ProducerAck
>>> messages/commands?
>>>
>>> - if I disable producerControlFlow in broker and my producer sets
>>> window size ( setProducerWindowSize ), what is the behaviour ?
>>>
>>>
>>> Thanks and regards
>>
>>
>>
>> --
>> Christian Posta
>> http://www.christianposta.com/blog
>> twitter: @christianposta



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta

Re: Basic questions about producer control flow

Posted by Jose María Zaragoza <de...@gmail.com>.
Thanks for your reply

I'm trying to understand the advantages of enabling producer control
flow in broker's activemq.xml configuration file, when I use
non-persistent delivery

Sorry, but I don't see any advantage, because I only can get a
blocking in my producer.
On the other hand, if I disable it , control flow is still managed by
broker and messages for slow consumers are off-lined to disk storage

Futhermore, I've read that non-persistent messages are persisted to
disk ( feature from AMQ 5.x ) , so it's more difficult that memory
runs out

Which are advantages to enable producer control flow with
non-persistent delivery ?

If non-persisted message are persisted to disk ( by default ) , what
is the advantage of non-persistent mode ?


Thanks and regards



2013/12/9 Christian Posta <ch...@gmail.com>:
> Yes, the protocol between the broker and client for sending/receiving
> messages is still the same, ie, you would continue to get ACK messages
> from the broker.
>
> If you set a producer window size, then byte counting/flow control is
> handled at the client side for the default JMS openwire client. so you
> would still experience throttling based on the client settings.
>
>
>
> On Mon, Dec 9, 2013 at 6:06 AM, Jose María Zaragoza
> <de...@gmail.com> wrote:
>> Hi:
>>
>> I'm using AMQ 5.8 and I've got some basic questions about producer control flow
>>
>> - if I disable producerControlFlow in broker , does still producers
>> receive ProducerAck messages/commands ?
>>
>> - if I disable producerControlFlow in broker, the producers who send
>> persistent messages ,  does still they receive ProducerAck
>> messages/commands?
>>
>> - if I disable producerControlFlow in broker and my producer sets
>> window size ( setProducerWindowSize ), what is the behaviour ?
>>
>>
>> Thanks and regards
>
>
>
> --
> Christian Posta
> http://www.christianposta.com/blog
> twitter: @christianposta

Re: Basic questions about producer control flow

Posted by Christian Posta <ch...@gmail.com>.
Yes, the protocol between the broker and client for sending/receiving
messages is still the same, ie, you would continue to get ACK messages
from the broker.

If you set a producer window size, then byte counting/flow control is
handled at the client side for the default JMS openwire client. so you
would still experience throttling based on the client settings.



On Mon, Dec 9, 2013 at 6:06 AM, Jose María Zaragoza
<de...@gmail.com> wrote:
> Hi:
>
> I'm using AMQ 5.8 and I've got some basic questions about producer control flow
>
> - if I disable producerControlFlow in broker , does still producers
> receive ProducerAck messages/commands ?
>
> - if I disable producerControlFlow in broker, the producers who send
> persistent messages ,  does still they receive ProducerAck
> messages/commands?
>
> - if I disable producerControlFlow in broker and my producer sets
> window size ( setProducerWindowSize ), what is the behaviour ?
>
>
> Thanks and regards



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta