Can non-persistent messages sent via topics use temp storage?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Can non-persistent messages sent via topics use temp storage?

Mark Anderson
I am having problems trying to get non-persistent messages sent via a topic
to use temp storage when the memory usage limit is reached.

In my search for a solution I found a reference to the following unit test
as an example of how to configure ActiveMQ to use temp storage for
non-persistent messages:

http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/TempStorageBlockedBrokerTest.java?view=markup&pathrev=1233367

When I edit the test case testFillTempAndConsume to use a topic instead of
a queue it fails and no data is written to the temp storage.

Is the usage of temp storage with topics supported in this way?

I found issue AMQ-3738 (Cursors not dealing with topic memoryLimit
overflow) which sounds like the same issue as I am seeing. Is this a bug in
ActiveMQ and if so is it likely to be resolved in the immediate future?

Thanks,
Mark
Reply | Threaded
Open this post in threaded view
|

Re: Can non-persistent messages sent via topics use temp storage?

gtully
look a the other test in there that uses a topic for inspiration,
those consumers are using the temp store
for their pending messages.
org.apache.activemq.bugs.TempStorageBlockedBrokerTest#testRunProducerWithHungConsumer

the testFillTempAndConsume does not have a consumer, so the topic
variant just discards messages.


On 9 March 2012 15:18, Mark Anderson <[hidden email]> wrote:

> I am having problems trying to get non-persistent messages sent via a topic
> to use temp storage when the memory usage limit is reached.
>
> In my search for a solution I found a reference to the following unit test
> as an example of how to configure ActiveMQ to use temp storage for
> non-persistent messages:
>
> http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/TempStorageBlockedBrokerTest.java?view=markup&pathrev=1233367
>
> When I edit the test case testFillTempAndConsume to use a topic instead of
> a queue it fails and no data is written to the temp storage.
>
> Is the usage of temp storage with topics supported in this way?
>
> I found issue AMQ-3738 (Cursors not dealing with topic memoryLimit
> overflow) which sounds like the same issue as I am seeing. Is this a bug in
> ActiveMQ and if so is it likely to be resolved in the immediate future?
>
> Thanks,
> Mark



--
http://fusesource.com
http://blog.garytully.com
Reply | Threaded
Open this post in threaded view
|

Re: Can non-persistent messages sent via topics use temp storage?

Mark Anderson
Thanks for the pointer. It seems that what I was missing in my
configuration was setting the topic prefetch size on the connection factory.

I think the online documentation could really do with a clear of example of
how to configure ActiveMQ without producer flow control. I had to spend a
good few hours jumping between various parts of the documentation, googling
and eventually finding the unit test that triggered my question here.

Can you submit bugs against the documentation? I would consider submitting
a patch/new documentation if that was possible.

Mark


On 9 March 2012 20:50, Gary Tully <[hidden email]> wrote:

> look a the other test in there that uses a topic for inspiration,
> those consumers are using the temp store
> for their pending messages.
>
> org.apache.activemq.bugs.TempStorageBlockedBrokerTest#testRunProducerWithHungConsumer
>
> the testFillTempAndConsume does not have a consumer, so the topic
> variant just discards messages.
>
>
> On 9 March 2012 15:18, Mark Anderson <[hidden email]> wrote:
> > I am having problems trying to get non-persistent messages sent via a
> topic
> > to use temp storage when the memory usage limit is reached.
> >
> > In my search for a solution I found a reference to the following unit
> test
> > as an example of how to configure ActiveMQ to use temp storage for
> > non-persistent messages:
> >
> >
> http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/TempStorageBlockedBrokerTest.java?view=markup&pathrev=1233367
> >
> > When I edit the test case testFillTempAndConsume to use a topic instead
> of
> > a queue it fails and no data is written to the temp storage.
> >
> > Is the usage of temp storage with topics supported in this way?
> >
> > I found issue AMQ-3738 (Cursors not dealing with topic memoryLimit
> > overflow) which sounds like the same issue as I am seeing. Is this a bug
> in
> > ActiveMQ and if so is it likely to be resolved in the immediate future?
> >
> > Thanks,
> > Mark
>
>
>
> --
> http://fusesource.com
> http://blog.garytully.com
>
Reply | Threaded
Open this post in threaded view
|

Re: Can non-persistent messages sent via topics use temp storage?

gtully
glad you got sorted.

for sure you can, please do raise an issue against the doc, and attach
any updates/improvements that you have, just be sure to tick the
license grand checkbox on the file attache form.

all contributions are gratefully received :-)

On 13 March 2012 10:47, Mark Anderson <[hidden email]> wrote:

> Thanks for the pointer. It seems that what I was missing in my
> configuration was setting the topic prefetch size on the connection factory.
>
> I think the online documentation could really do with a clear of example of
> how to configure ActiveMQ without producer flow control. I had to spend a
> good few hours jumping between various parts of the documentation, googling
> and eventually finding the unit test that triggered my question here.
>
> Can you submit bugs against the documentation? I would consider submitting
> a patch/new documentation if that was possible.
>
> Mark
>
>
> On 9 March 2012 20:50, Gary Tully <[hidden email]> wrote:
>
>> look a the other test in there that uses a topic for inspiration,
>> those consumers are using the temp store
>> for their pending messages.
>>
>> org.apache.activemq.bugs.TempStorageBlockedBrokerTest#testRunProducerWithHungConsumer
>>
>> the testFillTempAndConsume does not have a consumer, so the topic
>> variant just discards messages.
>>
>>
>> On 9 March 2012 15:18, Mark Anderson <[hidden email]> wrote:
>> > I am having problems trying to get non-persistent messages sent via a
>> topic
>> > to use temp storage when the memory usage limit is reached.
>> >
>> > In my search for a solution I found a reference to the following unit
>> test
>> > as an example of how to configure ActiveMQ to use temp storage for
>> > non-persistent messages:
>> >
>> >
>> http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/TempStorageBlockedBrokerTest.java?view=markup&pathrev=1233367
>> >
>> > When I edit the test case testFillTempAndConsume to use a topic instead
>> of
>> > a queue it fails and no data is written to the temp storage.
>> >
>> > Is the usage of temp storage with topics supported in this way?
>> >
>> > I found issue AMQ-3738 (Cursors not dealing with topic memoryLimit
>> > overflow) which sounds like the same issue as I am seeing. Is this a bug
>> in
>> > ActiveMQ and if so is it likely to be resolved in the immediate future?
>> >
>> > Thanks,
>> > Mark
>>
>>
>>
>> --
>> http://fusesource.com
>> http://blog.garytully.com
>>



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