that is correct. but that is why we have the usage limits. a really large transaction will block pending space. We could support spooling to disk in that scenario but folks have not requested it.
On 26 January 2013 04:14, SuoNayi <[email protected]> wrote: > Thank for your clarification. > I have just took a glance at the source code for 5.8, and found that the > default > memory usage limit is 64M still, another limits are improved and an new > scheduler > job store limit is introduced.Some checks are performed but memory limit > for > destinations are not checked. > I found MemoryTransactionStore is still to used to hold penging messages of > transactions, more large transaction more messages are kept in RAM still > and > eventually memory will be exhausted. > Does I miss something? > > > Thanks > SuoNayi > > At 2013-01-25 20:07:46,"Christian Posta" <[email protected]> > wrote: > >Sorry, i mean to say "scheduled messagaes do use their own store, not temp > >store" > > > > > >On Fri, Jan 25, 2013 at 4:58 AM, Christian Posta > ><[email protected]>wrote: > > > >> To add: > >> > >> scheduled messages don't use their own store. they are currently > >> unbounded, but this has been resolved here: > >> https://issues.apache.org/jira/browse/AMQ-4068 > >> > >> > >> On Fri, Jan 25, 2013 at 4:24 AM, Gary Tully <[email protected]> > wrote: > >> > >>> the defaults increased for 5.7 and there are additional warnings but i > >>> think there is still some room for improvement. maybe peek at a 5.8 > snap. > >>> > >>> also, pending messages in a transaction do now respect the limits. > >>> > >>> > >>> On 25 January 2013 08:20, SuoNayi <[email protected]> wrote: > >>> > >>> > Hi, I know that SystemUsage is used to control memory usage(to cache > >>> > messages) , > >>> > disk space usage for messages storage in the broker and we can > allocate > >>> > memory > >>> > usage for each destination while others can not be assigned > >>> independently. > >>> > I just noticed that there is no SystemUsage section present but the > >>> memory > >>> > usage limit is enabled for queues in activemq.xml on my production > >>> brokers. > >>> > In this case broker will create a default SystemUsage with 64M memory > >>> usage > >>> > limit.But the memory usage limit for queues is 512M, and that's > bigger > >>> > than the > >>> > memory usage limit of the broker.So in fact the memory usage limit > for > >>> > queues > >>> > is only 64M rather than 512M and I do expect there are some > >>> warning/error > >>> > logs > >>> > to indicate unreasonable configuration but not.If there are no jiras > >>> about > >>> > the > >>> > problem should I raise one now? > >>> > > >>> > > >>> > By the way,Does the temp store for non-persistent messages, pending > >>> > transactional > >>> > messages and schedule messages respect the limit of SystemUsage? > >>> > I know that pending transactional messages are kept in memory can > cause > >>> > OOM and > >>> > later release will save them into the temp store.Is it implemented > since > >>> > 5.6? > >>> > > >>> > > >>> > Thanks, > >>> > SuoNayi > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > >>> > >>> -- > >>> http://redhat.com > >>> http://blog.garytully.com > >>> > >> > >> > >> > >> -- > >> *Christian Posta* > >> http://www.christianposta.com/blog > >> twitter: @christianposta > >> > > > > > > > >-- > >*Christian Posta* > >http://www.christianposta.com/blog > >twitter: @christianposta > -- http://redhat.com http://blog.garytully.com
