Re: Deadlocks in the Filestore of Silde 2.1
"Arne v.Irmer" <[email protected]> Wed, 18 Apr 2007 14:03:06 +0200
| Newsgroups | gmane.comp.jakarta.slide.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Oliver, thanks for the immediate response. Does this imply, I should change to version 2.2_pre1 for our production server? I saw in SVN, you implemented "fail-fast" today. ;-) Yours Arne Oliver Zeigermann schrieb: > Using the latest source from SVN you can set the "sequential-mode" to > "fail-fast" now. This checks for read/write conflicts, but does not > block anything in case of a conflict. It will instead fail immedeatly > with a conflict error. > > HTH > > Oliver > > 2007/4/18, aslam bari <[email protected]>: >> I was also facing this problem before. After that i did a small >> change and now it is working fine. What i did is:- >> >> 1) In domain.xml change sequential-mode parameter to "full" from >> "fine-grain" like this:- >> <parameter name="sequential-mode">full</parameter> >> >> 2)If you are using (Lucenen Indexing) then In Domain.xml use >> asyncron mode for this and also set priority to lowest like 1:- like >> this:- >> >> >> <contentindexer >> classname="org.apache.slide.index.lucene.LuceneContentIndexer"> >> <parameter >> name="indexpath">${filespath}/../data/store/index_content</parameter> >> <parameter name="asynchron">false</parameter> >> <parameter name="priority">1</parameter> >> <parameter >> name="analyzer">org.apache.lucene.analysis.standard.StandardAnalyzer</parameter> >> >> <parameter name="max-field">100000</parameter> >> </contentindexer> >> >> Thanks.... >> >> >> ----- Original Message ---- >> From: Oliver Zeigermann <[email protected]> >> To: Slide Users Mailing List <[email protected]>; >> [email protected] >> Sent: Wednesday, 18 April, 2007 12:31:42 AM >> Subject: Re: Deadlocks in the Filestore of Silde 2.1 >> >> >> I was just having a look at the 2.2 code and it looks that you can >> even switch off locking completely. Otherwise the locking code in 2.2 >> looks much better than the code in 2.1 >> >> Oliver >> >> 2007/4/17, Oliver Zeigermann <[email protected]>: >> > Hi Arne! >> > >> > The stack trace tells you that another thread has the global >> > read/write lock. So, correctly speaking this is a "live lock". The >> > reason most likely is a thread that still runs and has forgotten to >> > release this lock. >> > >> > Having said this, even switching to a deadlock free solution will not >> > help, as you have no deadlocks here. >> > >> > Cheers >> > >> > Oliver >> > >> > 2007/4/17, Arne v.Irmer <[email protected]>: >> > > Hi, >> > > we are using slide in our e-learning platform >> > > http://ews2.uni-dortmund.de in a production environment. We get into >> > > deep trouble with deadlocks in Slide! >> > > I checked out Silde 2.2pre1. In the RELEASE-NOTES-2.2 there is >> the sentence: >> > > "- New option for a fine grained, deadlock-less locking scheme" >> > > My question is: >> > > - Should I change to 2.2pre1 for my productive environment? How >> can I >> > > switch back if we discover other problems with this pre-release? >> > > - Is there a patch for version 2.1. that fixes these deadlocks? >> > > >> > > Please help. >> > > Thanks in advance >> > > Arne v.Irmer >> > > >> > > Our configuration: >> > > Slide 2.1 with fixed hasmap "suspendedLocks" in >> > > org.apache.slide.store.ExtendedStore. >> > > using a filestore in Tomcat 5.5 >> > > >> > > Here are some stacktraces from the jconsole in the case of the >> deadlocks: >> > > >> > > Name: http-129.217.205.43-8080-Processor3 >> > > State: TIMED_WAITING on >> > > org.apache.commons.transaction.locking.GenericLock@76e9f537 >> > > Total blocked: 273 Total waited: 332 >> > > >> > > Stack trace: >> > > java.lang.Object.wait(Native Method) >> > > >> org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:241) >> >> > > >> org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:165) >> >> > > >> org.apache.slide.webdav.method.AbstractWebdavMethod.assureGlobalWriteLock(AbstractWebdavMethod.java:847) >> >> > > >> org.apache.slide.webdav.method.AbstractWebdavMethod.run(AbstractWebdavMethod.java:362) >> >> > > >> org.apache.slide.webdav.WebdavServlet.service(WebdavServlet.java:155) >> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:802) >> > > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) >> >> > > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> >> > > >> org.apache.slide.webdav.filter.LogFilter.doFilter(LogFilter.java:141) >> > > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> >> > > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> >> > > >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) >> >> > > >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) >> >> > > >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) >> >> > > >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) >> >> > > >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) >> >> > > >> org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419) >> >> > > >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) >> >> > > >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) >> >> > > >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) >> >> > > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) >> >> > > >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) >> >> > > >> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) >> >> > > >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) >> >> > > java.lang.Thread.run(Thread.java:595) >> > > >> > > Name: http-129.217.205.43-8080-Processor3 >> > > State: TIMED_WAITING on >> > > org.apache.commons.transaction.locking.GenericLock@667aeb85 >> > > Total blocked: 44 Total waited: 80 >> > > >> > > Stack trace: >> > > java.lang.Object.wait(Native Method) >> > > >> org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:241) >> >> > > >> org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:165) >> >> > > >> org.apache.slide.webdav.method.AbstractWebdavMethod.assureGlobalReadLock(AbstractWebdavMethod.java:838) >> >> > > >> org.apache.slide.webdav.method.AbstractWebdavMethod.run(AbstractWebdavMethod.java:360) >> >> > > >> org.apache.slide.webdav.WebdavServlet.service(WebdavServlet.java:155) >> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:802) >> > > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) >> >> > > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> >> > > >> org.apache.slide.webdav.filter.LogFilter.doFilter(LogFilter.java:141) >> > > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> >> > > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> >> > > >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) >> >> > > >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) >> >> > > >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) >> >> > > >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) >> >> > > >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) >> >> > > >> org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419) >> >> > > >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) >> >> > > >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) >> >> > > >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) >> >> > > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) >> >> > > >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) >> >> > > >> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) >> >> > > >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) >> >> > > java.lang.Thread.run(Thread.java:595) >> > > >> > > -- >> > > Dipl.-Phys. Arne v.Irmer >> > > Medienzentrum UniversitÀt Dortmund >> > > Emil-Figge-StraÃe 50 >> > > 44227 Dortmund >> > > Tel.: ++49 231 755 7127 >> > > Fax : ++49 231 755 4597 >> > > >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >> Send a FREE SMS to your friend's mobile from Yahoo! Messenger. >> Get it now at http://in.messenger.yahoo.com/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > -- Dipl.-Phys. Arne v.Irmer Medienzentrum UniversitÀt Dortmund Emil-Figge-StraÃe 50 44227 Dortmund Tel.: ++49 231 755 7127 Fax : ++49 231 755 4597