You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Alessandro Bologna <al...@gmail.com> on 2008/03/18 15:32:25 UTC

NodeState references inexistent child

Hi all,

please see below for a stacktrace illustrating the issue.

We just experienced a corruption on a Jackrabit 1.4 repository
(cluster configuration, 8GB RAM, 6 allocated to the JVM, running on
jdk 1.5 64bit, Oracle 10g as the database using the bundle persistence
manager). After seeing several inconsistencies on the logs, we decided
to reindex the repository by removing the content of the index
directories in each workspace (there are 3).

At startup the default workspace got reindexed, but the 'cda'
workspace failed with the stack trace below. Only after enabling the
consistency check parameter in the workspace.xml we realized that the
issue was a node referencing an inexistent child (see log). After
several attempts, we managed to remove it (with webdav, by removing
its parent), but that required removing all the other nodes as well.

Is it a known issue? And, if that happens, what recovery steps can be performed?

Thanks,
Alessandro


====== CONTENTS OF WORKSPACE.XML
<Workspace name="cda">
                <!--
                        virtual file system of the workspace:
                        class: FQN of class implementing FileSystem interface
                -->
                <FileSystem
class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
                           <param name="path" value="${wsp.home}"/>
                </FileSystem>
                <!--
                        persistence of the workspace:
                        class: FQN of class implementing
PersistenceManager interface
                -->
                <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
                        <param name="url" value="jdbc:oracle:oci:@DBNAME"/>
                        <param name="user" value="user"/>
                        <param name="password" value="password"/>
                        <param name="schemaObjectPrefix" value="${wsp.name}_"/>
                        <param name="consistencyCheck" value="true"/>
                        <param name="externalBLOBs" value="false"/>
                </PersistenceManager>

                <SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
                        <param name="path" value="${wsp.home}/index"/>
                        <param name="respectDocumentOrder" value="false"/>
                        <param name="textFilterClasses"
value="org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
                        <param name="extractorPoolSize " value="2"/>
                        <param name="supportHighlighting" value="true"/>
                        <param name="mergeFactor" value="100"/>
                        <param name="bufferSize" value="1000"/>
                        <param name="cacheSize" value="500000"/>
                </SearchIndex>

        </Workspace>


====== LOG WITH FORCE CONSISTENCY CHECK ENABLED
8.03.2008 00:44:56 *INFO * BundleDbPersistenceManager: cda: checking
workspace consistency... (BundleDbPersistenceManager.java, line 685)
18.03.2008 00:44:56 *ERROR* BundleDbPersistenceManager: NodeState
99b66544-b174-48a7-88d8-0c987ae40213 references inexistent child
{}C0017189 with id 0a338b9f-f755-4481-9dde-b3ae42f07400
(BundleDbPersistenceManager.java, line 725)
18.03.2008 00:44:58 *INFO * BundleDbPersistenceManager: cda: checked
126/0 bundles. (BundleDbPersistenceManager.java, line 785)
18.03.2008 00:44:58 *INFO * RepositoryImpl: workspace 'cda'
initialized (RepositoryImpl.java, line 1712)
18.03.2008 00:44:58 *INFO * LocalFileSystem: LocalFileSystem
initialized at path
/data/home/tcat2/jcr-repository/repository/workspaces/cda/index
(LocalFileSystem.java, line 166)
18.03.2008 00:44:58 *ERROR* RepositoryImpl: Unable to initialize
workspace 'cda' (RepositoryImpl.java, line 726)
javax.jcr.RepositoryException: Error indexing workspace: Error
indexing workspace: Error indexing workspace


====== STACKTRACE DURING REPOSITORY STARTUP
17.03.2008 23:20:18 *ERROR* RepositoryImpl: Unable to initialize
workspace 'cda' (RepositoryImpl.java, line 726)
javax.jcr.RepositoryException: Error indexing workspace: Error
indexing workspace: Error indexing workspace
        at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:575)
        at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:255)
        at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1600)
        at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:599)
        at org.apache.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(RepositoryImpl.java:724)
        at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1212)
        at org.apache.jackrabbit.core.jndi.BindableRepository.login(BindableRepository.java:185)
        at com.timeinc.tips.cda.saxon.JcrInputResolver.getNewSession(Unknown
Source)
        at com.timeinc.tips.cda.JcrRestConfig.getNewSession(Unknown Source)
        at com.timeinc.tips.cda.JcrRestConfig.getNewContentSession(Unknown
Source)
        at com.timeinc.tips.cda.JcrRestManager.createContentWorkspace(Unknown
Source)
        at com.timeinc.tips.cda.JcrRestManager.init(Unknown Source)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.io.IOException: Error indexing workspace
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:383)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:425)
        at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:48)
        at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:573)
        ... 38 more
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
0a338b9f-f755-4481-9dde-b3ae42f07400
        at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:259)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1022)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:378)
        ... 41 more
java.io.IOException: Error indexing workspace
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:383)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:425)
        at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:48)
        at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:573)
        at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:255)
        at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1600)
        at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:599)
        at org.apache.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(RepositoryImpl.java:724)
        at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1212)
        at org.apache.jackrabbit.core.jndi.BindableRepository.login(BindableRepository.java:185)
        at com.timeinc.tips.cda.saxon.JcrInputResolver.getNewSession(Unknown
Source)
        at com.timeinc.tips.cda.JcrRestConfig.getNewSession(Unknown Source)
        at com.timeinc.tips.cda.JcrRestConfig.getNewContentSession(Unknown
Source)
        at com.timeinc.tips.cda.JcrRestManager.createContentWorkspace(Unknown
Source)
        at com.timeinc.tips.cda.JcrRestManager.init(Unknown Source)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
0a338b9f-f755-4481-9dde-b3ae42f07400
        at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:259)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1022)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1023)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:378)