Jackrabbit with PostgreSQL backend leaves repository in inconsistent state

811 views Asked by At

I run Jackrabbit standalone (v2.12.2) with repository.xml configured to use PostgreSQL (9.5) as data backend. This process runs inside Docker container. Configuration (repository.xml) is attached below.

Jackrabbit starts only ONCE.

I do the following steps:

  1. start Jackrabbit (it initializes Jackrabbit's repository and database)
  2. stop Jackrabbit
  3. start Jackrabbit again

All subsequent starts fail with the following exception:

2016-12-27 17:58:27.233 INFO  [main] RepositoryImpl.java:2034          initializing workspace 'security'...
2016-12-27 17:58:27.254 INFO  [main] SearchIndex.java:610              Index initialized: jackrabbit/workspaces/security/index Version: 3
2016-12-27 17:58:27.255 INFO  [main] RepositoryImpl.java:2038          workspace 'security' initialized
2016-12-27 17:58:27.256 INFO  [main] DefaultSecurityManager.java:174   init: use Repository Login-Configuration for Jackrabbit
2016-12-27 17:58:27.292 ERROR [main] RepositoryImpl.java:368           failed to start Repository: failed to build path of 1b7a879e-057c-4462-aca9-4ad1904abaae: cafebabe-cafe-babe-cafe-babecafebabe has no child entry for 1b7a879e-057c-4462-aca9-4ad1904abaae
javax.jcr.ItemNotFoundException: failed to build path of 1b7a879e-057c-4462-aca9-4ad1904abaae: cafebabe-cafe-babe-cafe-babecafebabe has no child entry for 1b7a879e-057c-4462-aca9-4ad1904abaae
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:298) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:402) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.getPath(CachingHierarchyManager.java:249) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl.getPrimaryPath(ItemImpl.java:188) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.NodeImpl.getPrimaryPath(NodeImpl.java:2810) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl$2.perform(ItemImpl.java:379) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl$2.perform(ItemImpl.java:376) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl.getPath(ItemImpl.java:376) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:841) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.security.user.UserManagerImpl.internalGetAuthorizable(UserManagerImpl.java:928) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:437) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.DefaultSecurityManager.createSystemUsers(DefaultSecurityManager.java:621) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.DefaultSecurityManager.init(DefaultSecurityManager.java:206) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.initSecurityManager(RepositoryImpl.java:473) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.(RepositoryImpl.java:332) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:615) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:157) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109) [jackrabbit-standalone-2.12.2.jar:na]
    at javax.servlet.GenericServlet.init(GenericServlet.java:241) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.Server.doStart(Server.java:224) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.standalone.Main.run(Main.java:173) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.standalone.Main.main(Main.java:60) [jackrabbit-standalone-2.12.2.jar:na]
2016-12-27 17:58:27.292 INFO  [main] RepositoryImpl.java:1086          Shutting down repository...
2016-12-27 17:58:27.293 ERROR [main] RepositoryImpl.java:378           In addition to startup fail, another unexpected problem occurred while shutting down the repository again.
java.lang.IllegalStateException: Not initialized
    at org.apache.jackrabbit.core.DefaultSecurityManager.checkInitialized(DefaultSecurityManager.java:552) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.DefaultSecurityManager.close(DefaultSecurityManager.java:254) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1095) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1074) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.(RepositoryImpl.java:374) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:615) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:157) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109) [jackrabbit-standalone-2.12.2.jar:na]
    at javax.servlet.GenericServlet.init(GenericServlet.java:241) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.Server.doStart(Server.java:224) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.standalone.Main.run(Main.java:173) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.standalone.Main.main(Main.java:60) [jackrabbit-standalone-2.12.2.jar:na]
2016-12-27 17:58:27.294 WARN  [main] Slf4jLog.java:89                  unavailable
javax.jcr.ItemNotFoundException: failed to build path of 1b7a879e-057c-4462-aca9-4ad1904abaae: cafebabe-cafe-babe-cafe-babecafebabe has no child entry for 1b7a879e-057c-4462-aca9-4ad1904abaae
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:298) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:287) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:215) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:402) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.CachingHierarchyManager.getPath(CachingHierarchyManager.java:249) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl.getPrimaryPath(ItemImpl.java:188) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.NodeImpl.getPrimaryPath(NodeImpl.java:2810) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl$2.perform(ItemImpl.java:379) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl$2.perform(ItemImpl.java:376) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.ItemImpl.getPath(ItemImpl.java:376) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:841) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.security.user.UserManagerImpl.internalGetAuthorizable(UserManagerImpl.java:928) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:437) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.DefaultSecurityManager.createSystemUsers(DefaultSecurityManager.java:621) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.DefaultSecurityManager.init(DefaultSecurityManager.java:206) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.initSecurityManager(RepositoryImpl.java:473) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.(RepositoryImpl.java:332) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:615) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:157) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109) ~[jackrabbit-standalone-2.12.2.jar:na]
    at javax.servlet.GenericServlet.init(GenericServlet.java:241) ~[jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.jetty.Server.doStart(Server.java:224) [jackrabbit-standalone-2.12.2.jar:na]
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.standalone.Main.run(Main.java:173) [jackrabbit-standalone-2.12.2.jar:na]
    at org.apache.jackrabbit.standalone.Main.main(Main.java:60) [jackrabbit-standalone-2.12.2.jar:na]

repository.xml:

<?xml version="1.0"?>
<!DOCTYPE Repository
          PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
          "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">

<Repository>
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
            <param name="driver" value="org.postgresql.Driver"/>
            <param name="url" value="jdbc:postgresql://${POSTGRESQL_SERVER_NAME}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE_NAME}"/>
            <param name="schema" value="postgresql"/>
            <param name="user" value="${POSTGRESQL_USER}"/>
            <param name="password" value="${POSTGRESQL_PASSWORD}"/>
            <param name="schemaObjectPrefix" value="rep_"/>
        </FileSystem>

    <!--
        data store configuration
    -->
    <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:postgresql://${POSTGRESQL_SERVER_NAME}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE_NAME}"/>
        <param name="user" value="${POSTGRESQL_USER}"/>
        <param name="password" value="${POSTGRESQL_PASSWORD}"/>
        <param name="databaseType" value="postgresql"/>
        <param name="driver" value="org.postgresql.Driver"/>
        <param name="minRecordLength" value="1024"/>
        <param name="maxConnections" value="3"/>
        <param name="copyWhenReading" value="true"/>
        <param name="tablePrefix" value=""/>
        <param name="schemaObjectPrefix" value=""/>
    </DataStore>


    <!--
        security configuration
    -->
    <Security appName="Jackrabbit">
        <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
        </SecurityManager>

        <AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager">
        </AccessManager>

        <LoginModule class="org.apache.jackrabbit.core.security.authentication.DefaultLoginModule">
           <param name="anonymousId" value="anonymous"/>
           <param name="adminId" value="admin"/>
        </LoginModule>
    </Security>

    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
    <Workspace name="${wsp.name}">
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
            <param name="driver" value="org.postgresql.Driver"/>
            <param name="url" value="jdbc:postgresql://${POSTGRESQL_SERVER_NAME}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE_NAME}"/>
            <param name="user" value="${POSTGRESQL_USER}"/>
            <param name="password" value="${POSTGRESQL_PASSWORD}"/>
            <param name="schemaObjectPrefix" value="rep_"/>
            <param name="schema" value="postgresql"/>
            <param name="schemaCheckEnabled" value="false"/>
        </FileSystem>
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
          <param name="schema" value="postgres"/>
          <param name="url" value="jdbc:postgresql://${POSTGRESQL_SERVER_NAME}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE_NAME}"/>
          <param name="user" value="${POSTGRESQL_USER}" />
          <param name="password" value="${POSTGRESQL_PASSWORD}" />
          <param name="driver" value="org.postgresql.Driver" />
          <param name="schemaObjectPrefix" value="wsp_"/>
          <param name="externalBLOBs" value="false"/>
          <param name="schemaCheckEnabled" value="false"/>
        </PersistenceManager>

        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
            <param name="supportHighlighting" value="true"/>
        </SearchIndex>
    </Workspace>

    <!--
        Configures the versioning
    -->
    <Versioning rootPath="${rep.home}/version">
        <!--
            Configures the filesystem to use for versioning for the respective
            persistence manager
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
            <param name="driver" value="org.postgresql.Driver"/>
            <param name="url" value="jdbc:postgresql://${POSTGRESQL_SERVER_NAME}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE_NAME}"/>
            <param name="schema" value="postgresql"/>
            <param name="user" value="${POSTGRESQL_USER}"/>
            <param name="password" value="${POSTGRESQL_PASSWORD}"/>
            <param name="schemaObjectPrefix" value="rep_"/>
        </FileSystem>

        <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
          <param name="schema" value="postgres"/>
          <param name="url" value="jdbc:postgresql://${POSTGRESQL_SERVER_NAME}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE_NAME}"/>
          <param name="user" value="${POSTGRESQL_USER}" />
          <param name="password" value="${POSTGRESQL_PASSWORD}" />
          <param name="driver" value="org.postgresql.Driver" />
          <param name="schemaObjectPrefix" value="version_"/>
          <param name="externalBLOBs" value="false"/>
          <param name="schemaCheckEnabled" value="false"/>
        </PersistenceManager>
    </Versioning>

    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${rep.home}/repository/index"/>
        <param name="supportHighlighting" value="true"/>
    </SearchIndex>

    <Cluster syncDelay="2000">
        <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
            <param name="revision" value="${rep.home}/revision.log" />
            <param name="driver" value="org.postgresql.Driver" />
            <param name="url" value="jdbc:postgresql://${POSTGRESQL_SERVER_NAME}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE_NAME}" />
            <param name="schema" value="postgresql"/>
            <param name="schemaObjectPrefix" value="rep_"/>
            <param name="user" value="${POSTGRESQL_USER}"/>
            <param name="password" value="${POSTGRESQL_PASSWORD}"/>
            <param name="databaseType" value="postgresql"/>
        </Journal>
    </Cluster>
</Repository>

I meet this behaviour only on DEV and TEST environment (running gentoo). On my ubuntu 16.04 Jackrabbit can be restarted multiple times without any drawbacks.

Please help me with advice how to debug this issue, because it makes me crazy :)

0

There are 0 answers