Hi Matt,

Sorry for my late reply. Finally I've got some reasonable results, but I
stil have one question. With the following configuration:


        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" producerFlowControl="false"
memoryLimit="1mb">
                  <pendingDurableSubscriberPolicy>
                    <fileDurableSubscriberCursor/>
                  </pendingDurableSubscriberPolicy>
                  <pendingSubscriberPolicy>
                    <fileCursor />
                  </pendingSubscriberPolicy>
                </policyEntry>
                <policyEntry queue=">" producerFlowControl="false"
memoryLimit="1mb">
                  <pendingQueuePolicy>
                    <fileQueueCursor/>
                  </pendingQueuePolicy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>


When the usage memory limit is reached, I could see the trace that
fileCursor is going to be enable and I can see how memory is decreasing and
data file increasing. So with this configuration I could prevent an out of
memory if a consumer is down for a long time.

Now what Iam seeing is when activemq starts to store messages into the
disk, in my client I receive a lot of packets dropped by the broker. I dont
know why the broker drops this packets, because if you use fileCursor, I
thought that any message will be discarded and all will be store into disk.
Is it normal?


regards

2012/1/27 Matt Pavlovich <mattr...@gmail.com>

> Oscar-
>
> What is your Java heap size?
>
>
> On 1/27/12 5:29 AM, Oscar Pernas wrote:
>
>> Hi, sorry for the spam:
>>
>> I have the following configuration
>>
>>         <destinationPolicy>
>>             <policyMap>
>>               <policyEntries>
>>                 <policyEntry topic=">" producerFlowControl="false">
>> <**pendingDurableSubscriberPolicy**>
>>  <fileDurableSubscriberCursor/>
>> </**pendingDurableSubscriberPolicy**>
>>  <pendingSubscriberPolicy>
>> <fileCursor />
>> </pendingSubscriberPolicy>
>>                 </policyEntry>
>>                 <policyEntry queue=">" producerFlowControl="false">
>>                   <pendingQueuePolicy>
>>                     <fileQueueCursor/>
>>                   </pendingQueuePolicy>
>>                 </policyEntry>
>>               </policyEntries>
>>             </policyMap>
>>         </destinationPolicy>
>>
>> and memory usage like this:
>>
>>         <systemUsage>
>>             <systemUsage>
>>                 <memoryUsage>
>>                     <memoryUsage limit="500 mb"/>
>>                 </memoryUsage>
>>                 <storeUsage>
>>                     <storeUsage limit="1 gb"/>
>>                 </storeUsage>
>>                 <tempUsage>
>>                     <tempUsage limit="100 mb"/>
>>                 </tempUsage>
>>             </systemUsage>
>>         </systemUsage>
>>
>>
>> Im configuring a persistent producer and a durable consumer. When I shut
>> down the consumer, broker starts to give me this messages:
>>
>> 2012-01-27 12:26:11,575 | DEBUG | default:memory:topic://T_**
>> SYSTEM3:memory:
>> usage change from: 33% of available memory, to: 34% of available memory |
>> org.apache.activemq.usage.**Usage | ActiveMQ Transport: tcp:///
>> 127.0.0.1:56722
>> 2012-01-27 12:26:11,576 | DEBUG | default:memory: usage change from: 33%
>> of
>> available memory, to: 34% of available memory |
>> org.apache.activemq.usage.**Usage | ActiveMQ Transport: tcp:///
>> 127.0.0.1:56722
>> 2012-01-27 12:26:12,587 | DEBUG | default:memory:topic://T_**
>> SYSTEM3:memory:
>> usage change from: 34% of available memory, to: 35% of available memory |
>> org.apache.activemq.usage.**Usage | ActiveMQ Transport: tcp:///
>> 127.0.0.1:56722
>> 2012-01-27 12:26:12,587 | DEBUG | default:memory: usage change from: 34%
>> of
>> available memory, to: 35% of available memory |
>> org.apache.activemq.usage.**Usage | ActiveMQ Transport: tcp:///
>> 127.0.0.1:56722
>>
>>
>> When the memory usage grows to 100%  and outOfMemory of java heap is
>> thrown, Are the cursors working well? did I miss some configuration? Im
>> using activemq 5.5.1.
>>
>>
>> regards
>>
>> 2012/1/27 Oscar Pernas<os...@pernas.es>
>>
>>  I dont know why, but If I set fileCursor and to a topic my broker starts
>>> to consume memory untill hungs with java heap size limit... fileCursor
>>> should not avoid this?
>>>
>>>
>>> 2012/1/27 Oscar Pernas<os...@pernas.es>
>>>
>>>  Hi all,
>>>>
>>>> Im trying to optimize and hardening activemq and I have some question:
>>>>
>>>>  - If I set producerFlowControl to false, should I need to set the
>>>> memory
>>>> limit? I dont know if I set the memory limit, firstly all messages goes
>>>> to
>>>> memory until is full, and after that goes to disk?
>>>> - Do I need to set<pendingSubscriberPolicy>  and
>>>> <**pendingDurableSubscriberPolicy**>  if I have durable and no durable
>>>> consumers?
>>>> - If Im using file based cursors for queues and topics, should I have to
>>>> define the usage memory? I should define the storeUsage for the file
>>>> based
>>>> cursors, but the tempStorage and memoryUsage would be needed?
>>>>
>>>>
>>>>
>>>> Thanks in advance!
>>>>
>>>> --
>>>> Óscar Pernas Plaza.
>>>>
>>>>
>>>
>>> --
>>> Óscar Pernas Plaza.
>>>
>>>
>>
>>


-- 
Óscar Pernas Plaza.

Reply via email to