[ https://issues.apache.org/jira/browse/JCR-929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12499128 ]
Ian Boston commented on JCR-929: -------------------------------- Doing that causes the ClusterNode thread to timeout but the 2 http threads go into waiting state, so they must be interlocking on waits somewhere. I cant really do an attempt in the main threads since if the operation doesnt get to the journal then it wont propagate, and doing a back off would have to back off far enough to undo the interlock. The pattern looks slightly different now, to I might have fixed the first problem.... sorry about all the long stack traces but its going to be confusing if not in context. Starting Thread Monitor ================== Thread Transient File Reaper waiting by [EMAIL PROTECTED] ::WAITING at org.apache.jackrabbit.util.TransientFileFactory$ReaperThread.run(TransientFileFactory.java:148) Thread Transient File Reaper waiting by [EMAIL PROTECTED] ::WAITING at org.apache.jackrabbit.util.TransientFileFactory$ReaperThread.run(TransientFileFactory.java:148) Thread TP-Processor3 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread TP-Processor2 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread TP-Processor1 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor25 waiting by [EMAIL PROTECTED] ::WAITING at EDU.oswego.cs.dl.util.concurrent.ReentrantLock.acquire(null:-1) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:474) at EDU.oswego.cs.dl.util.concurrent.ReentrantLock.acquire(null:-1) at org.apache.jackrabbit.core.lock.LockManagerImpl.acquire(LockManagerImpl.java:599) at org.apache.jackrabbit.core.lock.LockManagerImpl.nodeAdded(LockManagerImpl.java:840) at org.apache.jackrabbit.core.lock.LockManagerImpl.onEvent(LockManagerImpl.java:745) at org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(EventConsumer.java:231) at org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEvents(ObservationDispatcher.java:201) at org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(EventStateCollection.java:424) at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:721) at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326) at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302) at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306) at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1214) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.addMember(DavResourceImpl.java:517) at org.apache.jackrabbit.server.AbstractWebdavServlet.doPut(AbstractWebdavServlet.java:504) at org.apache.jackrabbit.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:241) at org.apache.jackrabbit.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:613) Thread http-8080-Processor23 waiting by [EMAIL PROTECTED] ::WAITING at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(null:-1) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:474) at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(null:-1) at org.apache.jackrabbit.core.journal.AbstractJournal.lockAndSync(AbstractJournal.java:233) at org.apache.jackrabbit.core.journal.DefaultRecordProducer.append(DefaultRecordProducer.java:51) at org.apache.jackrabbit.core.cluster.ClusterNode$WorkspaceLockChannel.unlocked(ClusterNode.java:637) at org.apache.jackrabbit.core.lock.LockManagerImpl.internalUnlock(LockManagerImpl.java:338) at org.apache.jackrabbit.core.lock.LockManagerImpl.unlock(LockManagerImpl.java:428) at org.apache.jackrabbit.core.lock.XALockManager.unlock(XALockManager.java:103) at org.apache.jackrabbit.core.NodeImpl.unlock(NodeImpl.java:4133) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.unlock(DavResourceImpl.java:739) at org.apache.jackrabbit.server.AbstractWebdavServlet.doUnlock(AbstractWebdavServlet.java:710) at org.apache.jackrabbit.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:262) at org.apache.jackrabbit.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:613) Thread http-8080-Processor22 waiting by [EMAIL PROTECTED] ::WAITING at EDU.oswego.cs.dl.util.concurrent.ReentrantLock.acquire(null:-1) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:474) at EDU.oswego.cs.dl.util.concurrent.ReentrantLock.acquire(null:-1) at org.apache.jackrabbit.core.lock.LockManagerImpl.acquire(LockManagerImpl.java:599) at org.apache.jackrabbit.core.lock.LockManagerImpl.getLockInfo(LockManagerImpl.java:356) at org.apache.jackrabbit.core.lock.XALockManager.isLocked(XALockManager.java:143) at org.apache.jackrabbit.core.NodeImpl.isLocked(NodeImpl.java:4161) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.getLock(DavResourceImpl.java:648) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.initProperties(DavResourceImpl.java:312) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.getProperties(DavResourceImpl.java:271) at org.apache.jackrabbit.webdav.MultiStatusResponse.<init>(MultiStatusResponse.java:180) at org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:62) at org.apache.jackrabbit.server.AbstractWebdavServlet.doPropFind(AbstractWebdavServlet.java:435) at org.apache.jackrabbit.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:232) at org.apache.jackrabbit.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:613) Thread http-8080-Processor21 waiting by [EMAIL PROTECTED] ::WAITING at EDU.oswego.cs.dl.util.concurrent.ReentrantLock.acquire(null:-1) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:474) at EDU.oswego.cs.dl.util.concurrent.ReentrantLock.acquire(null:-1) at org.apache.jackrabbit.core.lock.LockManagerImpl.acquire(LockManagerImpl.java:599) at org.apache.jackrabbit.core.lock.LockManagerImpl.getLockInfo(LockManagerImpl.java:356) at org.apache.jackrabbit.core.lock.XALockManager.isLocked(XALockManager.java:143) at org.apache.jackrabbit.core.NodeImpl.isLocked(NodeImpl.java:4161) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.getLock(DavResourceImpl.java:648) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.isLocked(DavResourceImpl.java:855) at org.apache.jackrabbit.webdav.simple.DavResourceImpl.addMember(DavResourceImpl.java:501) at org.apache.jackrabbit.server.AbstractWebdavServlet.doPut(AbstractWebdavServlet.java:504) at org.apache.jackrabbit.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:241) at org.apache.jackrabbit.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:613) Thread http-8080-Processor20 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor19 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor18 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor17 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor16 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor15 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor14 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor13 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor12 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor11 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor10 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor9 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor8 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor7 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor6 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor5 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor4 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor3 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor2 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread http-8080-Processor1 waiting by [EMAIL PROTECTED] ::WAITING at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656) Thread IndexMerger waiting by [EMAIL PROTECTED] ::WAITING at org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107) Thread IndexMerger waiting by [EMAIL PROTECTED] ::WAITING at org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107) Thread ObservationManager waiting by [EMAIL PROTECTED] ::WAITING at org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107) Thread IndexMerger waiting by [EMAIL PROTECTED] ::WAITING at org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107) Thread IndexMerger waiting by [EMAIL PROTECTED] ::WAITING at org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107) Thread ObservationManager waiting by [EMAIL PROTECTED] ::WAITING at org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107) Thread Finalizer waiting by [EMAIL PROTECTED] ::WAITING Thread Reference Handler waiting by [EMAIL PROTECTED] ::WAITING Done Thread Monitor ================== > Under Heavy load in a Cluster HTTP Threads Block and stall requests > ------------------------------------------------------------------- > > Key: JCR-929 > URL: https://issues.apache.org/jira/browse/JCR-929 > Project: Jackrabbit > Issue Type: Bug > Components: core > Affects Versions: 1.3 > Environment: 2 Node Cluster, OSX, JDK 1.5 with DatabaseJournal, > DatabasePersistanceManager, all content in DB, using WebDAV to load > Reporter: Ian Boston > Assigned To: Dominique Pfister > > Under Heavy load created by mounting both nodes in the cluster in OSX Finder > and then uploading large numebers of files to each node at the same time ( a > few 1000), eventually one of the nodes stops responding and the Finder mount > timesout and disconnects. > Once that happens that node becomes unusable. > More mount attempts will prompt for a password indicating HTTP is still > running, but will timeout once the connection is authenticated. > Access by the Web Browser will prompt for a password, conenct and provide a > once only listing of any collection in the workspace. If you try to refresh > that collection, the HTTP request hangs forever. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.