persistent locks persist even after removing the locked node ------------------------------------------------------------
Key: JCR-230 URL: http://issues.apache.org/jira/browse/JCR-230 Project: Jackrabbit Type: Bug Components: locks Reporter: Edgar Poce Priority: Minor I read my post to the mailing list and I realized it wasn't clear at all :( . So I decided to upload the code to reproduce the error. RepositoryConfig conf = RepositoryConfig.create("/temp/repository/repository.xml", "/temp/repository/repository"); Repository repo = RepositoryImpl.create(conf); // Session 1 creates a locked node Session s1 = repo.login(new SimpleCredentials("user1", "pwd1".toCharArray())); Node root1 = s1.getRootNode() ; Node test1 = root1.addNode("test") ; test1.addMixin("mix:lockable"); s1.save() ; test1.lock(false, false); s1.logout() ; // Session 2 deletes the node and create a new one // with the same path Session s2 = repo.login(new SimpleCredentials("user2", "pwd2".toCharArray())); s2.getRootNode().getNode("test").remove(); Node test2 = s2.getRootNode().addNode("test"); s2.save() ; // the next line returns true :( System.out.println(test2.isLocked()) ; // the next line will throw an exception test2.addMixin("mix:lockable") ; javax.jcr.lock.LockException: Node locked. at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:449) at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:435) at org.apache.jackrabbit.core.NodeImpl.checkLock(NodeImpl.java:3847) at org.apache.jackrabbit.core.NodeImpl.addMixin(NodeImpl.java:964) at org.apache.jackrabbit.core.NodeImpl.addMixin(NodeImpl.java:2420) at org.apache.jackrabbit.core.LockTest.main(LockTest.java:55) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira