[dna-issues] [JBoss JIRA] Updated: (DNA-457) Add JSR-170 Locking Optional Feature
Brian Carothers (JIRA)
jira-events at lists.jboss.org
Fri Jul 3 16:59:03 EDT 2009
[ https://jira.jboss.org/jira/browse/DNA-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Carothers updated DNA-457:
--------------------------------
Attachment: DNA-457_WIP.patch
Took a stab at locking. It's not there yet, although it does pass all of the optional locking tests (and breaks a few of the other TCK tests).
In the patch:
- A repository-level map of workspace names to lock managers for the workspace
- A WorkspaceLockManager class that maintains an in-memory map of locked node UUIDs to locks and keeps that synchronized with a new system view at /jcr:system/dna:locks.
- A new system view at /jcr:system/dna:locks that contains a child node for each live lock.
- Integration between the lock methods on AbstractJcrNode and JcrSession and the WorkspaceLockManager
Not in the patch:
- A consistency checker that flushes some or all of the locks at startup or checks the state of /jcr:system/dna:locks against the lock information on the locked nodes
- An Observer that listens for changes to the /jcr:system/dna:locks branch. This would be needed for a federated DNA install.
- A locking mechanism for non-referenceable nodes. This is much more intricate than a locking approach for referenceable nodes only.
- Good hygiene (e.g., meaningful comments, exception messages)
Please feel free to review or provide feedback. I don't intend to finish this until after the SessionCache changes are done, as there would be a lot of interplay between the locking code and the repository logic currently in the SessionCache.
> Add JSR-170 Locking Optional Feature
> ------------------------------------
>
> Key: DNA-457
> URL: https://jira.jboss.org/jira/browse/DNA-457
> Project: DNA
> Issue Type: Feature Request
> Components: JCR
> Affects Versions: 0.5
> Reporter: Brian Carothers
> Fix For: 1.0
>
> Attachments: DNA-457_WIP.patch
>
>
> JSR-170 defines several optional features. The locking feature allows users to lock nodes (and, optionally, their descendants) until the session terminates or until they are programatically unlocked.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the dna-issues
mailing list