jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "fabrizio giustina (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-201) [contrib-bdb] initialization fails if directory doesn't exist
Date Sun, 28 Aug 2005 16:05:05 GMT
    [ http://issues.apache.org/jira/browse/JCR-201?page=comments#action_12320357 ] 

fabrizio giustina commented on JCR-201:

This is the configuration for versioning I was using with ObjectPersistenceManager:

    <Versioning rootPath="${rep.home}/version">
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${rep.home}/workspaces/version" />
        <PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager"

the "version" directory doesn't exists, but it's created by the PM at startup.
The same configuration, changing only the PM to BerkeleyDBPersistenceManager:
    <Versioning rootPath="${rep.home}/version">
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${rep.home}/workspaces/version" />
        <PersistenceManager class="org.apache.jackrabbit.core.state.bdb.BerkeleyDBPersistenceManager"
This time the "version" directory is not created (the PM tries to create a "db" dir inside
it and ignores the failure) and bdb throw an exception during initialization

> [contrib-bdb] initialization fails if directory doesn't exist
> -------------------------------------------------------------
>          Key: JCR-201
>          URL: http://issues.apache.org/jira/browse/JCR-201
>      Project: Jackrabbit
>         Type: Bug
>     Versions: 1.0
>     Reporter: fabrizio giustina
>     Priority: Minor

> BerkeleyDBPersistenceManager initialization fails if the directory configured doesn't
exist (this doesn't happen with other PMs).
> This can easily be fixed in the persistence manager, by making it create all the directories
in the path (actually it only creates the last -db- directory).
> The trivial patch is to replace envDir.mkdir() to envDir.mkdirs() (note the final "s")
at BerkeleyDBPersistenceManager  line 73:
>         if (!envDir.exists())
>             envDir.mkdir();
> should be:
>         if (!envDir.exists())
>             envDir.mkdirs();
> (I am not submitting any svn diff since the manual fix sounds so trivial, it's easier
to change it manually)

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message