Hi Dave,

Unfortunately I haven't been able to reproduce this with a unit test.  You
were likely correct when you said that it's a race condition causing the
problem.  I'm currently in the process of setting up the broker on another
machine that has less running on it.  There is a chance that it's caused by
a conflict with another app (eg. a virus scan or automatic backup) which
causes file contention.

My load is fairly light for most of the day, peaks of about 10-15
messages/second.  There is a nightly batch process that is significantly
higher load.  It publishes ~400K messages in the span of 1/2 an hour, peaks
of about 500 messages/second.  Messages are all fairly small, just
serialized .NET objects containing only primitive types.

My config file is listed below.

Thanks so much for your help Dave.  One of the major reasons I selected to
use ActiveMQ in the first place was the community support.  Your help is
greatly appreciated.

Cheers,
Stefan



<beans
  xmlns="http://www.springframework.org/schema/beans";
  xmlns:amq="http://activemq.apache.org/schema/core";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core.xsd   
  http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>

    <!-- Allows us to use system properties as variables in this
configuration file -->
    <bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>

    <broker xmlns="http://activemq.apache.org/schema/core";
brokerName="localhost" dedicatedTaskRunner="false"
dataDirectory="${activemq.base}/data">

        <!-- Destination specific policies using destination names or
wildcards -->
        <destinationPolicy>
            <policyMap>
                <policyEntries>
                    <policyEntry topic="&gt;">
                        <dispatchPolicy>
                            <strictOrderDispatchPolicy />
                        </dispatchPolicy>
                        <subscriptionRecoveryPolicy>
                            <lastImageSubscriptionRecoveryPolicy />
                        </subscriptionRecoveryPolicy>
                    </policyEntry>
                </policyEntries>
            </policyMap>
        </destinationPolicy>

        <!-- Use the following to configure how ActiveMQ is exposed in JMX
-->
        <managementContext>
            <managementContext connectorPort="1099"
jmxDomainName="org.apache.activemq"/>
        </managementContext>

        <persistenceAdapter>
            <amqPersistenceAdapter directory="${activemq.base}/data"
indexBinSize="131072" archiveDataLogs="true"
directoryArchive="${activemq.base}/data/archive" />
        </persistenceAdapter>

        <!--  The maximum about of space the broker will use before slowing
down producers -->
        <systemUsage>
            <systemUsage>
                <memoryUsage>
                     <memoryUsage limit="200 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="5 gb" />
                </storeUsage>
                <tempUsage>
                     <tempUsage limit="500 mb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

        <!-- The transport connectors ActiveMQ will listen to -->
        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
        </transportConnectors>

    </broker>

    <!-- An embedded servlet engine for serving up the Admin console -->
    <jetty xmlns="http://mortbay.com/schemas/jetty/1.0";>
        <connectors>
            <nioConnector port="8161"/>
        </connectors>

        <handlers>
            <webAppContext contextPath="/admin"
resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/>
            <webAppContext contextPath="/demo"
resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/>
            <webAppContext contextPath="/fileserver"
resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/>
        </handlers>
    </jetty>

</beans>





Dave Stanley wrote:
> 
> Hi Stefan,
> Is it possible to reproduce with a Junit. It would be great to get a
> testcase & jira logged for this one. Can you post a summary of  your
> broker
> config (activemq.xml) and the amount of load your putting on the broker?
> 
> Cheer's,
> /Dave
> 
> On Fri, Apr 17, 2009 at 1:04 PM, stefan.moser
> <stefan.mo...@wolverton.ca>wrote:
> 
>>
>> Bad news.  After running fine as a standalone broker for two days, it
>> died
>> again today with the same error.  I've tried the syncOnWrite=true
>> setting,
>> but it slows down the broker too much for what is acceptable in my
>> system.
>> I think I'm pretty much out of options.
>>
>> Stefan
>>
>>
>>
>> Dave Stanley wrote:
>> >
>> > It seems as though your message store has been corrupted. You will
>> > probably
>> > need to wipe the <AMQ>/data directory to start from a clean
>> >
>> > In order to try and narrow down why this might be occurring:
>> >
>> > 1) Try test without the java service wrapper (standalone broker) and
>> see
>> > if
>> > it makes any difference
>> > 2) Try and enable syncOnWrite=true for the persistenceAdapter and see
>> if
>> > that helps
>> > 3) Can you post some specs on the machine your using for your tests..is
>> it
>> > particularly fast? anything unusual about the disk setup?
>> > 4) How are you stopping your broker. Are you using the windows scm (or
>> > killing it using the windows task manager ..).
>> >
>> > Hope this helps,
>> > /Dave
>> >
>> >
>> > On Tue, Apr 14, 2009 at 4:19 PM, stefan.moser
>> > <stefan.mo...@wolverton.ca>wrote:
>> >
>> >>
>> >> In the  http://activemq.apache.org/amq-message-store.html
>> documentation
>> >>  for
>> >> the AMQ Message Store, it mentions that it uses Kaha by default for
>> the
>> >> reference store.  I'm assuming then that there are other options for
>> the
>> >> reference store, but I can't find any mention of them.  I'm new to
>> >> ActiveMQ,
>> >> so maybe I'm just not recognizing the lingo.
>> >>
>> >> The reason why I would like to look at other reference stores is that
>> I'm
>> >> currently experiencing a halting problem with my current AMQ Message
>> >> Store
>> >> setup,
>> >>
>> >>
>> http://www.nabble.com/Could-not-locate-data-file-data-topic-data-X-tt22916586.html
>> >> detailed here .  I've tried switching to JDBC persistence using Derby,
>> >> but
>> >> it's too slow for my needs.
>> >>
>> >> Can someone please help!
>> >>
>> >> Cheers,
>> >> Stefan
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/Changing-the-reference-store-for-the-AMQ-Message-Store-tp23047210p23047210.html
>> >> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Changing-the-reference-store-for-the-AMQ-Message-Store-tp23047210p23101745.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Changing-the-reference-store-for-the-AMQ-Message-Store-tp23047210p23140854.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to