Hi Stefan, Thanks for the config, I will run some tests on my machine with yoru settings (maybe I will get lucky). Let us know how you get on with your tests on the other machine. Would be interested to know if a third party product could be interfering with the message store files - I have not heard of that being an issue before.
Cheer's, /Dave On Mon, Apr 20, 2009 at 1:10 PM, stefan.moser <stefan.mo...@wolverton.ca>wrote: > > 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=">"> > <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. > >