For the blocking, you could use systemUsage sendFailIfNoSpace="true",
and the producers will get an exception rather than blocking.

Temp queues can now be garbage collected, but only if there are no
producers or consumers.
 http://activemq.apache.org/delete-inactive-destinations.html

A temp queue will not page to disk at any point, it is always in
memory only. I think it would be a sensible enhancement to allow the
FilePendingMessageCursor to be used for temp Queues.

btw: in the zombie case, if producerCount=0, what is producing messages?

On 4 July 2012 15:17, Marcin Giedz <[email protected]> wrote:
> HI Gary,
>
>
> My understanding was that if I reach memory limit on temp-queue it will go 
> the same way as for regular queue or topic. At the moment we have PFC on for 
> temp-queue and sometimes when Clients disconnects without clean exit its 
> temp-queues stay alive with ConsumerCount=0, ProducerCount=0 and 
> EnqueueMessage counting up. Once memeory limit is reached on such temp-queue 
> PFC starts and producer is stopped. I can live temporary with such zombie 
> temp-queues to the nightly AMQ restart/clean but I can't efford on producer 
> being stopped.
>
>
> SHould I disable PFC on temp-queues? Zombie temp-queues is the subject I've 
> already discussed on AMQ bug tracker since early 5.3 but with 5.6 it's still 
> exists.
>
>
> Thx
> Marcin
>
>
>
>
> ----- Oryginalna wiadomość -----
>
> Od: "Gary Tully" <[email protected]>
> Do: [email protected]
> Wysłane: czwartek, 28 czerwiec 2012 17:07:12
> Temat: Re: PFC + temp-queue
>
> answers inline:
>
> On 28 June 2012 06:40, Marcin Giedz <[email protected]> wrote:
>>
>> Hi,
>>
>>
>> I was wondering why with temp-queue and producer flow control set to ON + 
>> temp storage we still experience producers stop preventing flooding. Is this 
>> a bug or a feature?
>>
> That is a feature. the cursor gets to consume all of the destination
> limit and then the destination is considered full.
> The filepending message cursor will only spool to disk with the
> systemUsage limit is reached, up until that point it will keep
> messages in memory like the vmpendingMessage cursor.
>
>>
>>
>> <broker xmlns="http://activemq.apache.org/schema/core"; 
>> brokerName="waw1-amq1" dataDirectory="${activemq.base}/waw-data" 
>> useJmx="true" advisorySupport="true" persistent="true" 
>> schedulePeriodForDestinationPurge="10000" networkConnectorStartAsync="true" 
>> allowTempAutoCreationOnSend="true">
>>
>>
>>
>>
>>
>> <policyEntry tempQueue="true" producerFlowControl="true" memoryLimit="100mb" 
>> gcInactiveDestinations="true" inactiveTimoutBeforeGC="60000">
>> <pendingQueuePolicy>
>> <fileQueueCursor/>
>> </pendingQueuePolicy>
>> </policyEntry>
>>
>>
>> ....
>>
>>
>>
>> <systemUsage>
>> <systemUsage>
>> <memoryUsage>
>> <memoryUsage limit="24 gb"/>
>> </memoryUsage>
>> <storeUsage>
>> <storeUsage limit="10 gb" name="store"/>
>> </storeUsage>
>> <tempUsage>
>> <tempUsage limit="10 gb"/>
>> </tempUsage>
>> </systemUsage>
>> </systemUsage>
>>
>>
>> If I disable PFC on temp-queue I can see storage utilization once memory is 
>> exhousted but there is no any control over temp-queue. This behavour is 
>> common for 5.5.1 and 5.6.0. Should I file a bug or change my configuration?
>>
>
> With the destination limit removed, the system limit gets a chance to
> be reached and the file cursor purges to temp storage. It is possible
> to limit the temp store, and then the destination will block on a
> send.
>
>
> If key here is to understand that the spooling to disk with the file
> pending message cursor is controlled by the shared systemUsage and not
> the destination usage.
>
> What behavior would you like to have?
>
>>
>> Thank you
>> Marcin
>
>
>
> --
> http://fusesource.com
> http://blog.garytully.com
>
>
>
> --
>
> Pozdrawiam
> Marcin Giedz
> Wiceprezes Zarządu
>
> ARISE Sp. z o.o.
> mob. +48 502 537 157
> mail: [email protected]
>
> Al. Solidarności 117
> 00-140 Warszawa
> tel. +48 (22) 440 56 20
> fax +48 (22) 440 56 22
> http://www.arise.pl
>
> ARISE Sp. z o.o. z siedzibą w Warszawie, Al. Solidarności 117, 00-140 
> Warszawa, zarejestrowana przez Sąd Rejonowy dla m. st. Warszawy w Warszawie 
> XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod nr KRS 0000316860; 
> REGON 141595449; NIP 527-259-06-10; z pokrytym w całości kapitałem zakładowym 
> wynoszącym 250,000.00 zł.



-- 
http://fusesource.com
http://blog.garytully.com

Reply via email to