jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Klimetschek (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (JCR-2232) shutdown deadlock
Date Thu, 30 Jul 2009 14:19:14 GMT

     [ https://issues.apache.org/jira/browse/JCR-2232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Alexander Klimetschek resolved JCR-2232.

    Resolution: Won't Fix

As noted in JCR-990 and http://jira.springframework.org/browse/MOD-372, the app server should
call TransientRepository.shutdown() and not RepositoryImpl.shutdown() directly (in com.liferay.portal.jcr.jackrabbit.JCRFactoryImpl.shutdown(JCRFactoryImpl.java:164)).

> shutdown deadlock
> -----------------
>                 Key: JCR-2232
>                 URL: https://issues.apache.org/jira/browse/JCR-2232
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: clustering, jackrabbit-core
>    Affects Versions: 1.5.6
>         Environment: JDK 1.6.0_13, JBoss, Liferay 5.2.2, Oracle 10g 
>            Reporter: Timo Pick
>         Attachments: jboss-does-not-stop-dump.txt, repository.xml
> Enviroment: I'm using Liferay in a clustered environment with two JBoss nodes. Liferay
uses Jackrabbit to save documents and attachments. Jackrabbit uses an Oracle10g database as
filesystem, repository and workspace. (see repository.xml)
> Problem: shutting down jboss leads to a deadlock in the RepositoryImpl.shutdown() method
as it tries to acquire a ReadWriteLock. RepositoryImpl calls shutdown() which tells all the
Sessions to logout(). The callback method TransientRepository.loggedOut() is called. This
method calls RepositoryImpl.shutdown() again (!!!). This is where the deadlock occurs. The
lock can not be acquired again as it already is acquired by the first call. I have appended
the java stacktrace (see jboss-does-not-stop.txt)
> Possible Solution: prevent TransientSession.loggedOut() from calling RepositoryImpl.shutdown()

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message