You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Yasuo Nakajima (JIRA)" <ji...@apache.org> on 2014/03/13 05:23:42 UTC
[jira] [Created] (JCR-3746) Disposing a workspace causes a deadlock
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)