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