jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sébastien Launay (JIRA) <j...@apache.org>
Subject [jira] Updated: (JCR-2057) When creating multiple repository instances pointing to the same home, opening a second session will remove the .lock file
Date Tue, 07 Apr 2009 08:57:13 GMT

     [ 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.


Mime
View raw message