jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Munteanu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-2149) Locks are not enforced
Date Fri, 07 Aug 2015 10:52:46 GMT

     [ https://issues.apache.org/jira/browse/OAK-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Robert Munteanu updated OAK-2149:
---------------------------------
    Attachment: 0001-OAK-2149-Locks-are-not-enforced.patch

Attached a strawman patch + throwaway test to make sure I'm heading in the right direction.
If someone can confirm it I'll implement it for all operations which should respect locking

> Locks are not enforced
> ----------------------
>
>                 Key: OAK-2149
>                 URL: https://issues.apache.org/jira/browse/OAK-2149
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: core, jcr
>    Affects Versions: 1.0.6
>            Reporter: Damien Obrist
>         Attachments: 0001-OAK-2149-Locks-are-not-enforced.patch
>
>
> Locks are not enforced and do not prevent nodes from being modified by non-lock-owning
sessions.
> Consider following code excerpt:
> {code:java}
> Repository repo = ...
> String path = "/some/node";
> Session session1 = repo.login(new SimpleCredentials("A", "password".toCharArray()));
> session1.getNode(path).addMixin("mix:lockable");
> session1.save();
> LockManager lockManager = session1.getWorkspace().getLockManager();
> lockManager.lock(path, true, false, Long.MAX_VALUE, null);
> Session session2 = repo.login(new SimpleCredentials("B", "password".toCharArray()));
> session2.getNode(path).setProperty("foo", "bar");
> session2.save();
> {code}
> User {{A}} puts a lock on {{/some/node}}. User {{B}} is still able to set a property
on that node after it has been locked. Instead, this should throw a {{LockException}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message