You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2010/11/22 11:57:15 UTC

[jira] Created: (JCR-2816) Repository is not unlocked if version manager init failed and assertions are enabled

Repository is not unlocked if version manager init failed and assertions are enabled
------------------------------------------------------------------------------------

                 Key: JCR-2816
                 URL: https://issues.apache.org/jira/browse/JCR-2816
             Project: Jackrabbit Content Repository
          Issue Type: Bug
            Reporter: Thomas Mueller
            Assignee: Thomas Mueller


The following test case will work as expected, except when assertions are enabled (java -ea ...):

Connection conn = DriverManager.getConnection(
        "jdbc:derby:repository/version/db;create=true");
Statement stat = conn.createStatement();
stat.execute("create table version_bundle(id int)");
TransientRepository rep = new TransientRepository();
try {
    rep.login(new SimpleCredentials("", new char[0]));
} catch (Exception e) {
    // ignore
}
rep.shutdown();
stat.execute("drop table version_bundle");
new TransientRepository().login(new SimpleCredentials("", new char[0]));

The reason is the assertion in RepositoryContext.getInternalVersionManager. Because of this assertion, the repository lock is not released during the repository shutdown.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (JCR-2816) Repository is not unlocked if version manager init failed and assertions are enabled

Posted by "Thomas Mueller (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Mueller resolved JCR-2816.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2.0

I removed the assertion in revision 1037668.

> Repository is not unlocked if version manager init failed and assertions are enabled
> ------------------------------------------------------------------------------------
>
>                 Key: JCR-2816
>                 URL: https://issues.apache.org/jira/browse/JCR-2816
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>             Fix For: 2.2.0
>
>
> The following test case will work as expected, except when assertions are enabled (java -ea ...):
> Connection conn = DriverManager.getConnection(
>         "jdbc:derby:repository/version/db;create=true");
> Statement stat = conn.createStatement();
> stat.execute("create table version_bundle(id int)");
> TransientRepository rep = new TransientRepository();
> try {
>     rep.login(new SimpleCredentials("", new char[0]));
> } catch (Exception e) {
>     // ignore
> }
> rep.shutdown();
> stat.execute("drop table version_bundle");
> new TransientRepository().login(new SimpleCredentials("", new char[0]));
> The reason is the assertion in RepositoryContext.getInternalVersionManager. Because of this assertion, the repository lock is not released during the repository shutdown.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.