jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Reschke (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (JCR-3929) ConsistencyCheck may fail on empty repository
Date Sat, 12 May 2018 14:21:00 GMT

     [ https://issues.apache.org/jira/browse/JCR-3929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Julian Reschke updated JCR-3929:
--------------------------------
    Fix Version/s: 2.10.8

> ConsistencyCheck may fail on empty repository
> ---------------------------------------------
>
>                 Key: JCR-3929
>                 URL: https://issues.apache.org/jira/browse/JCR-3929
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.7.1
>            Reporter: Kamil
>            Assignee: Julian Reschke
>            Priority: Major
>              Labels: candidate_jcr_2_8
>             Fix For: 2.16, 2.15.7, 2.14.4, 2.12.9, 2.10.8
>
>         Attachments: JCR_3929.patch
>
>
> Creation of fresh repository doesn't work with versions >= 2.7.1
> When I use version 2.6.5 or 2.7.0, remove old repository folder (D:\jackrabbitdocuments),
drop/recreate journal database and start the server - everything work correctly. 
> When I switch from 2.7.0 to 2.7.1, remove old repository folder (D:\jackrabbitdocuments),
drop/recreate journal database and start the server I obtain following exception:
> {noformat}
> 2015-11-03 13:16:42.568 INFO  [localhost-startStop-1] RepositoryImpl.java:257 Starting
repository...
> 2015-11-03 13:16:42.578 INFO  [localhost-startStop-1] LocalFileSystem.java:164 LocalFileSystem
initialized at path D:\jackrabbitdocuments\repository
> 2015-11-03 13:16:42.696 INFO  [localhost-startStop-1] NodeTypeRegistry.java:870 no custom
node type definitions found
> 2015-11-03 13:16:42.974 INFO  [localhost-startStop-1] DatabaseJournal.java:375 Initialized
local revision to 0
> 2015-11-03 13:16:42.975 INFO  [localhost-startStop-1] DatabaseJournal.java:384 Cluster
revision janitor thread not started
> 2015-11-03 13:16:42.976 INFO  [localhost-startStop-1] DatabaseJournal.java:280 DatabaseJournal
initialized.
> 2015-11-03 13:16:42.979 INFO  [localhost-startStop-1] LocalFileSystem.java:164 LocalFileSystem
initialized at path D:\jackrabbitdocuments\version
> 2015-11-03 13:16:43.122 ERROR [localhost-startStop-1] RepositoryImpl.java:367 failed
to start Repository: Cannot instantiate persistence manager org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager
> javax.jcr.RepositoryException: Cannot instantiate persistence manager org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager
> 	at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1354)
[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:487)
[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:312) [jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:590) [jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.jca.JCARepositoryManager.createNonTransientRepository(JCARepositoryManager.java:124)
[jackrabbit-jca-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:79)
[jackrabbit-jca-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:216)
[jackrabbit-jca-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:153)
[jackrabbit-jca-2.7.1.jar:2.7.1]
> 	at org.springframework.jca.support.LocalConnectionFactoryBean.afterPropertiesSet(LocalConnectionFactoryBean.java:118)
[spring-tx-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1468)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:808)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:543)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:447)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:423)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:220)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1130)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1069)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:967)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:508)
[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:486)
[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:615)
[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:169)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:308)
[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
[spring-beans-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834)
[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:537)
[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java)
[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
[spring-web-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
[spring-web-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
[spring-web-4.2.0.RELEASE.jar:4.2.0.RELEASE]
> 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)
[catalina.jar:7.0.59]
> 	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)
[catalina.jar:7.0.59]
> 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:7.0.59]
> 	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) [catalina.jar:7.0.59]
> 	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) [catalina.jar:7.0.59]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_51]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
> Caused by: java.lang.NullPointerException: null
> 	at org.apache.jackrabbit.core.cache.ConcurrentCache.getSegment(ConcurrentCache.java:98)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.cache.ConcurrentCache.get(ConcurrentCache.java:124) ~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:743)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.exists(AbstractBundlePersistenceManager.java:563)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.persistence.bundle.ConsistencyCheckerImpl.internalCheckConsistency(ConsistencyCheckerImpl.java:246)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.persistence.bundle.ConsistencyCheckerImpl.check(ConsistencyCheckerImpl.java:99)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.checkConsistency(AbstractBundlePersistenceManager.java:824)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:562)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager.init(PostgreSQLPersistenceManager.java:57)
~[jackrabbit-core-2.7.1.jar:2.7.1]
> 	at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1350)
[jackrabbit-core-2.7.1.jar:2.7.1]
> 	... 53 common frames omitted
> 2015-11-03 13:16:43.123 INFO  [localhost-startStop-1] RepositoryImpl.java:1061 Shutting
down repository...
> 2015-11-03 13:16:43.138 INFO  [localhost-startStop-1] RepositoryImpl.java:1166 Repository
has been shutdown
> {noformat}
> My repository.xml:
> {noformat}
> <?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.local.LocalFileSystem">
>         <param name="path" value="${rep.home}/repository"/>
>     </FileSystem>
> 	<DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
>         <param name="path" value="${repository.common}/datastore" />
>         <param name="minRecordLength" value="100" />
>     </DataStore>
> 	<Security appName="Jackrabbit">
> 		<SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager"  workspaceName="security">
> 			<WorkspaceAccessManager class="org.apache.jackrabbit.core.security.simple.SimpleWorkspaceAccessManager"
/>
> 		</SecurityManager>
> 		<AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager"
/>
> 		<LoginModule class="org.apache.jackrabbit.core.security.authentication.DefaultLoginModule">
> 			<param name="adminId" value="${repository.user}" />
> 			<param name="anonymousId" value="anonymous" />
> 		</LoginModule>
> 	</Security>
>     <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
>     <Workspace name="${wsp.name}">
>         <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>             <param name="path" value="${wsp.home}"/>
>         </FileSystem>
>         <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
>             <param name="driver" value="${repository.driver}" />
>             <param name="url" value="${repository.url}" />
>             <param name="user" value="${repository.user}" />
>             <param name="password" value="${repository.password}" />
>             <param name="schemaObjectPrefix" value="storage_" />
>             <param name="schema" value="${repository.ddl}" />
>             <param name="bundleCacheSize" value="8" />
>             <param name="minBlobSize" value="16384" />
>             <param name="consistencyCheck" value="true" />
>             <param name="consistencyFix" value="true" />
>         </PersistenceManager>
>         <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>             <param name="path" value="${wsp.home}/index"/>
>             <param name="supportHighlighting" value="true"/>
>         </SearchIndex>
>         
>          <WorkspaceSecurity>               
> 		    <AccessControlProvider class="org.apache.jackrabbit.core.security.authorization.principalbased.ACLProvider">
> 		        <param name="omit-default-permission" value="true" />
> 		    </AccessControlProvider>
> 		</WorkspaceSecurity>
>     </Workspace>
>     <Versioning rootPath="${rep.home}/version">
>         <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>             <param name="path" value="${rep.home}/version" />
>         </FileSystem>
>         <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
>             <param name="driver" value="${repository.driver}" />
>             <param name="url" value="${repository.url}" />
>             <param name="user" value="${repository.user}" />
>             <param name="password" value="${repository.password}" />
>             <param name="schemaObjectPrefix" value="version_" />
>             <param name="schema" value="${repository.ddl}" />
>             <param name="bundleCacheSize" value="8" />
>             <param name="minBlobSize" value="16384" />
>             <param name="consistencyCheck" value="true" />
>             <param name="consistencyFix" value="true" />
>         </PersistenceManager>
>     </Versioning>
>     <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>         <param name="path" value="${rep.home}/repository/index"/>
>         <param name="supportHighlighting" value="true"/>
>         <param name="enableConsistencyCheck" value="true" />
>         <param name="forceConsistencyCheck" value="true" />
>         <param name="autoRepair" value="true" />
>     </SearchIndex>
>     
>     <Cluster id="node-${tomcat.instance.name}" syncDelay="2000">
>         <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>             <param name="driver" value="${repository.driver}"/>
>             <param name="url" value="${repository.url}"/>
>             <param name="schema" value="${repository.ddl}"/>
>             <param name="schemaObjectPrefix" value="jrnl_"/>
>             <param name="user" value="${repository.user}" />
>             <param name="password" value="${repository.password}" />
>         </Journal>
>     </Cluster>
> </Repository>
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message