[ https://issues.apache.org/jira/browse/JCR-2057?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sébastien Launay updated JCR-2057: ---------------------------------- Attachment: JCR-2057-2009-04-07.zip Test for reproducing this bug, dependencies are described in dependencies.txt. > When creating multiple repository instances pointing to the same home, > opening a second session will remove the .lock file > -------------------------------------------------------------------------------------------------------------------------- > > Key: JCR-2057 > URL: https://issues.apache.org/jira/browse/JCR-2057 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core > Affects Versions: core 1.4.7, 1.5.3 > Environment: Ubuntu Intrepid > Reporter: Sébastien Launay > Attachments: JCR-2057-2009-04-07.zip > > > The following test case can be used to reproduce the bug: > Repository repo1 = new TransientRepository(repoConfig); > Session session1_1 = repo1.login(...); > Session session2_2 = repo1.login(...); > Repository repo2 = new TransientRepository(repoConfig); // Will not fail > (expected) > Session session2_1 = repo2.login(...); // Will fail with > javax.jcr.RepositoryException: The repository home /tmp/_repository appears > to be already locked by the current process (expected) > Session session2_2 = repo2.login(...); // Will work! > Repository repo3 = new TransientRepository(repoConfig); // Will not fail > either (expected) > Session session3_1 = repo3.login(...); // Will fail with > javax.jcr.RepositoryException: The repository home /tmp/_repository appears > to be already locked by the current process (expected) > Session session3_2 = repo3.login(...); // Will fail with > javax.jcr.RepositoryException: Directory was previously created with a > different LockFactory instance > Open the first session in repo2 will fails but will also remove the .lock > file, thus the second > session will succeed and may corrupt the repository because there are > multiple session > opened from multiple repository. > The same behaviour occurs for repo3, the .lock file is removed but it is a > slightly different case > as a new exception will be thrown while creating the Lucene index. > This is a clearly a twisted case as repositories pointing to the same home > must not be created > simultaneously but i think that it must be more robust to prevent data > corruption. > I reproduce the bug on JR 1.4.7 and 1.5.3 but i think it affects at least all > versions of JR < 1.5.3. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.