cancel
Showing results for 
Search instead for 
Did you mean: 

Index rebuilt failed

waschbecken
Champ in-the-making
Champ in-the-making
hello,
I also had some troubles with the ulimit.
Currently it is set to 4096. I also followed the given instruction in the alfresco wiki.

After removing the lucene-indexes folder and setting index.recovery.mode=FULL I get the following exception
:

Code:
1:06:29,444 INFO  [FullIndexRecoveryComponent]         10 % complete.
11:06:42,304 INFO  [FullIndexRecoveryComponent]         20 % complete.
11:06:55,576 INFO  [FullIndexRecoveryComponent]         30 % complete.
11:07:06,838 INFO  [FullIndexRecoveryComponent]         40 % complete.
11:07:24,431 INFO  [FullIndexRecoveryComponent]         50 % complete.
11:07:43,816 INFO  [FullIndexRecoveryComponent]         60 % complete.
11:07:48,621 ERROR [JobRunShell] Job DEFAULT.org.springframework.scheduling.quartz.JobDetailBean#e75a11 threw an unhandled Exception:
org.springframework.dao.DataIntegrityViolationException: Non-root node has no primary parent:
   child: workspace://lightWeightVersionStore/237a93f1-cb1c-11db-9f31-8bd2e10a4a3a
        at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.getPrimaryParentAssoc(HibernateNodeDaoServiceImpl.java:833)
        at sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
        at org.alfresco.repo.transaction.TransactionalDaoInterceptor.invoke(TransactionalDaoInterceptor.java:60)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
        at $Proxy132.getPrimaryParentAssoc(Unknown Source)
        at org.alfresco.repo.node.db.DbNodeServiceImpl.getPrimaryParent(DbNodeServiceImpl.java:1093)
        at sun.reflect.GeneratedMethodAccessor206.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.alfresco.repo.service.StoreRedirectorProxyFactory$RedirectorInvocationHandler.invoke(StoreRedirectorProxyFactory.java:213)
        at $Proxy133.getPrimaryParent(Unknown Source)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent$1.doWork(FullIndexRecoveryComponent.java:266)
        at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(TransactionUtil.java:168)
        at org.alfresco.repo.transaction.TransactionUtil.executeInNonPropagatingUserTransaction(TransactionUtil.java:126)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.reindexTransaction(FullIndexRecoveryComponent.java:275)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.performFullRecovery(FullIndexRecoveryComponent.java:198)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.reindexImpl(FullIndexRecoveryComponent.java:157)
        at org.alfresco.repo.node.index.AbstractReindexComponent$1.doWork(AbstractReindexComponent.java:209)
        at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(TransactionUtil.java:168)
        at org.alfresco.repo.transaction.TransactionUtil.executeInUserTransaction(TransactionUtil.java:74)
        at org.alfresco.repo.node.index.AbstractReindexComponent.reindex(AbstractReindexComponent.java:213)
        at org.alfresco.repo.node.index.IndexRecoveryJob.execute(IndexRecoveryJob.java:31)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)
11:07:48,626 ERROR [ErrorLogger] Job (DEFAULT.org.springframework.scheduling.quartz.JobDetailBean#e75a11 threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.dao.DataIntegrityViolationException: Non-root node h
as no primary parent:
   child: workspace://lightWeightVersionStore/237a93f1-cb1c-11db-9f31-8bd2e10a4a3a]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)
* Nested Exception (Underlying Cause) —————
org.springframework.dao.DataIntegrityViolationException: Non-root node has no primary parent:
   child: workspace://lightWeightVersionStore/237a93f1-cb1c-11db-9f31-8bd2e10a4a3a
        at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.getPrimaryParentAssoc(HibernateNodeDaoServiceImpl.java:833)
        at sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
        at org.alfresco.repo.transaction.TransactionalDaoInterceptor.invoke(TransactionalDaoInterceptor.java:60)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
        at $Proxy132.getPrimaryParentAssoc(Unknown Source)
        at org.alfresco.repo.node.db.DbNodeServiceImpl.getPrimaryParent(DbNodeServiceImpl.java:1093)
        at sun.reflect.GeneratedMethodAccessor206.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.alfresco.repo.service.StoreRedirectorProxyFactory$RedirectorInvocationHandler.invoke(StoreRedirectorProxyFactory.java:213)
        at $Proxy133.getPrimaryParent(Unknown Source)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent$1.doWork(FullIndexRecoveryComponent.java:266)
        at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(TransactionUtil.java:168)
        at org.alfresco.repo.transaction.TransactionUtil.executeInNonPropagatingUserTransaction(TransactionUtil.java:126)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.reindexTransaction(FullIndexRecoveryComponent.java:275)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.performFullRecovery(FullIndexRecoveryComponent.java:198)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.reindexImpl(FullIndexRecoveryComponent.java:157)
        at org.alfresco.repo.node.index.AbstractReindexComponent$1.doWork(AbstractReindexComponent.java:209)
        at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(TransactionUtil.java:168)
        at org.alfresco.repo.transaction.TransactionUtil.executeInUserTransaction(TransactionUtil.java:74)
        at org.alfresco.repo.node.index.AbstractReindexComponent.reindex(AbstractReindexComponent.java:213)
        at org.alfresco.repo.node.index.IndexRecoveryJob.execute(IndexRecoveryJob.java:31)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)


Alfresco is still running, but I encouter several troubles like CIFS and Webview are not synchronized (hidden folders and directories in Windows Explorer) Currently we are using version 1.4.0 (build-105) schema 21.
No upgrades took place in the past, so far.

I also searched in our MySQL for the given node entry. In the alf_node_assoc table there is an entry for the given node with a target_node_id of an existing node.


Is it a good way to remove this entry from the database? (means deleting from the following tables: node, child_assoc, node_properties, node_status).
Please help me with my problem, that get alfresco running without any abnormalities.
5 REPLIES 5

derek
Star Contributor
Star Contributor
Hi,

Is there a primary parent association (alf_child_assoc) for the node?  Since you have a normal association to it (alf_node_assoc), I presume it is there.

Regards

waschbecken
Champ in-the-making
Champ in-the-making
hi!

when I search in the alf_child_assoc table for my UUID or node_id I did not find any entries.
No entries for parent_node_id, child_node_id, child_node_name, except when I search with with the same node_id and the id from my faulty node_id from alf_node table. But I think, this entry is not the one which I should search for.

Sine I found no entry in the alf_child_assoc, should I delete this alf_node entry which leads my index-rebuilt to fail?  :?:

derek
Star Contributor
Star Contributor
Removing the node will do the trick.
Check that your tables are all InnoDB tables as well.  Do you have any idea what might have caused the orphaned node?

waschbecken
Champ in-the-making
Champ in-the-making
ok, I will try to remove it.
But I locked at the tables and there are all InnoDB engined.
How can I change it to InnoDB? (my.cnf somewhere around)

Good question about the orphaned node, the index-rebuilt faild but other usere put documents into alfresco.
I think from this CIFS and Webview began starting not synchronized.

derek
Star Contributor
Star Contributor
Hi,

The problem is the use of MyISAM, really.  Any transaction that rolls back will be leaving your data in a questionable state.  You can issue alter table statements in MySQL to change the table type.  But you should change the default table type, anyway.  You could also dump and load the database after fixing up the script.

Regards