Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
1.5.6
-
None
-
None
-
JDK 1.6.0_13, JBoss, Liferay 5.2.2, Oracle 10g
Description
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()