You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Reschke (JIRA)" <ji...@apache.org> on 2018/05/01 16:04:00 UTC
[jira] [Comment Edited] (OAK-6421) Phase out JCR Locking support
[ https://issues.apache.org/jira/browse/OAK-6421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16459757#comment-16459757 ]
Julian Reschke edited comment on OAK-6421 at 5/1/18 4:03 PM:
-------------------------------------------------------------
What should happen if somebody tries to add the "mix:lockable" node type?
EDIT: added as part of OAK-7458.
was (Author: reschke):
What should happen if somebody tries to add the "mix:lockable" node type?
> Phase out JCR Locking support
> -----------------------------
>
> Key: OAK-6421
> URL: https://issues.apache.org/jira/browse/OAK-6421
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: jcr
> Reporter: Marcel Reutegger
> Priority: Major
> Fix For: 1.10
>
>
> Oak currently has a lot of gaps in its JCR Locking implementation (see OAK-1962), which basically makes it non-compliant with the JCR specification.
> I propose we phase out the support for JCR Locking because a proper implementation would be rather complex with a runtime behaviour that is very different in a standalone deployment compared to a cluster. In the standalone case a lock could be acquired very quickly, while in the distributed case, the operations would be multiple orders of magnitude slower, depending on how cluster nodes are geographically distributed.
> Applications that rely on strict lock semantics should use other mechanisms, built explicitly for this purpose. E.g. Apache Zookeeper.
> To ease upgrade and migration to a different lock mechanism, the proposal is to introduce a flag or configuration that controls the level of support for JCR Locking:
> - DISABLED: the implementation does not support JCR Locking at all. Methods will throw UnsupportedRepositoryOperationException when defined by the JCR specification.
> - DEPRECATED: the implementation behaves as right now, but logs a warn or error message that JCR Locking does not work as specified and will be removed in a future version of Oak.
> In a later release (e.g. 1.10) the current JCR Locking implementation would be removed entirely and unconditionally throw an exception.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)