activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jake Choi ...@yahoo-inc.com>
Subject Re: cursor memory usage/limit vs memory usage/limit
Date Thu, 01 Aug 2013 23:57:58 GMT
Quite strange that you didn't see any difference.  BTW, I'm using 5.7.0, not
5.8.0.  I see you're using 5.8.0 at
https://github.com/christian-posta/activemq-durable-sub-pfc-tests/tree/jake-choi-tests


ceposta wrote
> Just tried that on my side and didn't make a difference.
> BTW, i've committed the test to a private branch here:
> 
> https://github.com/christian-posta/activemq-durable-sub-pfc-tests/tree/jake-choi-tests
> 
> 
> On Thu, Aug 1, 2013 at 3:56 PM, Jake Choi <

> jw@

> > wrote:
> 
>> I just got a pretty interesting observation: I just tried my own tweaked
>> PendingDurableSubscriberPolicy (as I learned from the other thread, see
>> below) to the test code I've been using:
>>
>>
>> http://activemq.2283324.n4.nabble.com/How-to-configure-this-combination-of-queue-cursors-tt4670003.html#a4670027
>>
>> Then, the test code went through:  MemoryLimitTest.java
>> <http://activemq.2283324.n4.nabble.com/file/n4670029/MemoryLimitTest.java>
>>
>> -----
>>
>> Let's explain what's happened again in the test code above, shortly. 
>> With
>> only durable subscriber with prefetchSize=0, persistent message
>> publishing
>> to the topic is blocked (PFC) by hitting per-destination memory limit
>> (1MB).
>> But, when I changed the PendingDurableSubscriberPolicy from the default
>> "StorePendingDurableSubscriberMessageStoragePolicy" to the customized one
>> (see below), persistent message publishing didn't get stuck by any PFC
>> but
>> went through very well.
>>
>>
>>         // This makes the test flow through!
>>         // Without this (with default
>> StorePendingDurableSubscriberMessageStoragePolicy),
>>         // persistent message publishing to the topic got stuck. Why??
>>         policyEntry.setPendingDurableSubscriberPolicy(new
>> StorePendingDurableSubscriberMessageStoragePolicy() {
>>             @Override
>>             public PendingMessageCursor
>> getSubscriberPendingMessageCursor(Broker broker, String clientId, String
>> name,
>>                     int maxBatchSize, DurableTopicSubscription sub) {
>>                 broker.getBrokerService().setPersistent(false);
>>                 StoreDurableSubscriberCursor cursor =
>> (StoreDurableSubscriberCursor) super
>>                         .getSubscriberPendingMessageCursor(broker,
>> clientId,
>> name, maxBatchSize, sub);
>>                 broker.getBrokerService().setPersistent(true);
>>                 return cursor;
>>             }
>>         });
>>
>>
>> I'm curious what difference is there between these two
>> "PendingDurableSubscriberPolicy"s particularly for the persistent pending
>> cursor used inside..  Strange..
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://activemq.2283324.n4.nabble.com/cursor-memory-usage-limit-vs-memory-usage-limit-tp4669679p4670029.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
> 
> 
> 
> -- 
> *Christian Posta*
> http://www.christianposta.com/blog
> twitter: @christianposta





--
View this message in context: http://activemq.2283324.n4.nabble.com/cursor-memory-usage-limit-vs-memory-usage-limit-tp4669679p4670031.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message