Yasuo Nakajima created JCR-3746:
-----------------------------------
Summary: Disposing a workspace causes a deadlock
Key: JCR-3746
URL: https://issues.apache.org/jira/browse/JCR-3746
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: jackrabbit-core
Affects Versions: 2.4.3
Environment: Windows Server 2008 SP2
Reporter: Yasuo Nakajima
An inappropriate use of ReentrantWriterPreferenceReadWriteLock can cause a
deadlock in RepositoryImpl.WorkspaceInfo.dispose().
It tries to upgrade a read lock to write lock.
This causes a deadlock when other threads already have been acquired the read
or write lock before the dispose thread acquires the write lock. In this case,
the dispose thread will wait for acquiring the write lock forever because it
holds the read lock itself.
This problem is described in JCR-546 and ‘dispose’ is pointed out as a possible
problem.
We encountered the deadlock in our environment.
The deadlock does not happen in default workspace because dispose is not
applied for it.
--
This message was sent by Atlassian JIRA
(v6.2#6252)