Issue Details (XML | Word | Printable)

Key: JCR-790
Type: Bug Bug
Status: Closed Closed
Resolution: Duplicate
Priority: Major Major
Assignee: Unassigned
Reporter: Olivier Dony
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Jackrabbit Content Repository

Possible deadlock during concurrent operations on versionable nodes

Created: 14/Mar/07 11:31 AM   Updated: 08/Aug/07 06:58 AM
Return to search
Component/s: versioning
Affects Version/s: 1.2.1
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments:
  Size
Zip Archive jackrabbit-thread-dump.log.zip 2007-03-14 11:33 AM Olivier Dony 48 kB
Zip Archive thread-dump-analysis.txt.zip 2007-03-14 11:39 AM Olivier Dony 1 kB
Issue Links:
Duplicate
 
Reference
 

Resolution Date: 27/Apr/07 03:50 PM


 Description  « Hide
As discussed on the dev mailing-list:

We are using the Repository Server deployment model for one of our systems, with 3 different web applications using the same jackrabbit 1.2.1 server.
Two of the webapps are read-only frontoffice clients, the third one is a read-write backoffice.

Sometimes the jackrabbit-server enters a deadlock and stops answering requests until it is restarted. A thread dump of the deadlock situation is attached.

From the thread dump analysis provided by Marcel Reutegger (attached too), it appears that two threads are indeed deadlocked while attempting to save() versionable items, after acquiring locks (Workspace SISM/VersionManager) in different orders.
This appears to be the case only because the items being saved are versionable, and because one of them is a new item, which means that the VersionHistory is being created.

We couldn't find an easy way to reproduce this concurrency issue, as it doesn't happen very often, but it takes down our whole system when it does.

Note: if that matters, some of the client applications are using jackrabbit-jcr-rmi-1.1.jar and jackrabbit-jcr-core-1.1.jar to talk to this jackrabbit 1.2.1 server.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Olivier Dony added a comment - 14/Mar/07 11:33 AM
This is the (huge) thread dump of the deadlock situation.

Olivier Dony added a comment - 14/Mar/07 11:39 AM
This is the analysis of the locking performed by the 2 deadlocked threads, provided by Marcel Reutegger.

Stefan Guggisberg added a comment - 14/Mar/07 12:11 PM
seems to be related to JCR-18

Marcel Reutegger added a comment - 27/Apr/07 03:50 PM
And a duplicate of JCR-672