We've nfsv4 deployed, but I can double-check. I'm aware of v3 issues with locks, and decided to migrate to v4. Anything on ActiveMQ side that I need to configure specifically for production environment, though it works fine with other environments?
thanks, Vish. On Fri, Apr 9, 2010 at 3:54 AM, Gary Tully <[email protected]> wrote: > you need a nfs version that supports shared distributed locks, on your > production box. nfsv4 should do the trick. > > On 9 April 2010 01:33, Vishist Mandapaka <[email protected]> wrote: > > > Hi, > > We've two brokers running on shared data-store mounted through NFS. > > Broker version is 5.3.0 and jdk is 1.6.0. > > Everything works fine in non-production environment. In production > > environment, after startup, we see exceptions > > that I can't seem to understand or reproduce in non-prod. environment. > > > > Any pointer towards this is really appreciated. > > > > Exception: > > > > java.lang.RuntimeException: Failed to index > > > > at > > > > > org.apache.activemq.kaha.impl.index.DiskIndexLinkedList.refreshEntry(DiskIndexLinkedList.java:332) > > > > at > > > > > org.apache.activemq.kaha.impl.container.ContainerValueCollectionIterator.<init>(ContainerValueCollectionIterator.java:39) > > > > at > > > > > org.apache.activemq.kaha.impl.container.ContainerListIterator.<init>(ContainerListIterator.java:30) > > > > at > > > > > org.apache.activemq.kaha.impl.container.ListContainerImpl.listIterator(ListContainerImpl.java:603) > > > > at > > > > > org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.reset(FilePendingMessageCursor.java:123) > > > > at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1363) > > > > at > org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1503) > > > > at org.apache.activemq.broker.region.Queue.doBrowse(Queue.java:759) > > > > at org.apache.activemq.broker.region.Queue.expireMessages(Queue.java:588) > > > > at org.apache.activemq.broker.region.Queue.access$000(Queue.java:85) > > > > at org.apache.activemq.broker.region.Queue$2.run(Queue.java:116) > > > > at > > > > > org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33) > > > > at java.util.TimerThread.mainLoop(Timer.java:512) > > > > at java.util.TimerThread.run(Timer.java:462) > > > > Caused by: java.io.IOException: Stale NFS file handle > > > > at java.io.RandomAccessFile.readBytes(Native Method) > > > > at java.io.RandomAccessFile.read(RandomAccessFile.java:322) > > > > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:381) > > > > at > > > > > org.apache.activemq.kaha.impl.index.StoreIndexReader.updateIndexes(StoreIndexReader.java:57) > > > > at > > > > > org.apache.activemq.kaha.impl.index.IndexManager.refreshIndex(IndexManager.java:76) > > > > at > > > > > org.apache.activemq.kaha.impl.index.DiskIndexLinkedList.refreshEntry(DiskIndexLinkedList.java:330) > > > > ... 13 more > > > > Broker cconfiguration: > > <amq:broker brokerName="broker" persistent="true" useShutdownHook="true" > > deleteAllMessagesOnStartup="false" advisorySupport="false" > > dataDirectory="/sharedPath" useJmx="true" > > > <amq:managementContext> > > <amq:managementContext createConnector="false" /> > > </amq:managementContext> > > > > <amq:persistenceAdapter> > > <amq:amqPersistenceAdapter directory="/sharedPath" > > maxFileLength="32mb" /> > > </amq:persistenceAdapter> > > > > <amq:transportConnectors> > > <amq:transportConnector uri="tcp:// > > 0.0.0.0:61616?wireFormat.maxInactivityDuration=0"/> > > </amq:transportConnectors> > > > > <amq:destinations> > > <amq:queue id="queue1" physicalName="bqueue" /> > > </amq:destinations> > > > > <amq:plugins> > > <amq:loggingBrokerPlugin logAll="true" /> > > </amq:plugins> > > > > <amq:destinationPolicy> > > <amq:policyMap> > > <amq:policyEntries> > > <amq:policyEntry queue=">" producerFlowControl="true" > > memoryLimit="1mb"> > > <amq:pendingQueuePolicy> > > <amq:fileQueueCursor/> > > </amq:pendingQueuePolicy> > > </amq:policyEntry> > > </amq:policyEntries> > > </amq:policyMap> > > </amq:destinationPolicy> > > > > <amq:systemUsage> > > <amq:systemUsage sendFailIfNoSpace="true"> > > <amq:memoryUsage> > > <amq:memoryUsage id="memoryUsage" limit="4 gb"/> > > </amq:memoryUsage> > > <amq:storeUsage> > > <amq:storeUsage id="storeUsage" limit="10 gb" /> > > </amq:storeUsage> > > <amq:tempUsage> > > <amq:tempUsage id="tempUsage" limit="10 gb" /> > > </amq:tempUsage> > > </amq:systemUsage> > > </amq:systemUsage> > > > > </amq:broker> > > > > > > -- > http://blog.garytully.com > > Open Source Integration > http://fusesource.com >
