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