Errores al reindexar

cancel
Showing results for 
Search instead for 
Did you mean: 
xagaes
Member II

Errores al reindexar

Hola a todos.

Estamos realizando una indexacion completa de nuestro contentstore. Son casi 2 millones de documentos. Al parecer los indices estaban corruptos y ocupan muchisimo mas de lo debido. Asi que se hizo copia de los indices actuales, se borraron y se comenzo la reindexacion.

Para ello cambiamos estas dos lineas del archivo tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties

index.recovery.mode=FULL
index.recovery.stopOnError=false

El problema surge cuando lleva entre el 30% y el 40% indexado. Empieza a sacar errores como este:

10:08:06,247 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]
java.lang.NullPointerException
        at org.apache.lucene.index.Term.compareTo(Term.java:85)
        at org.apache.lucene.index.TermInfosReader.getIndexOffset(TermInfosReader.java:112)
        at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:147)
        at org.apache.lucene.index.SegmentTermDocs.seek(SegmentTermDocs.java:51)
        at org.apache.lucene.index.MultiTermDocs.termDocs(MultiReader.java:425)
        at org.apache.lucene.index.MultiTermDocs.next(MultiReader.java:376)
        at org.alfresco.repo.search.impl.lucene.FilterIndexReaderByStringId.<init>(FilterIndexReaderByStringId.java:88)
        at org.alfresco.repo.search.impl.lucene.index.IndexInfo.createMainIndexReader(IndexInfo.java:1693)
        at org.alfresco.repo.search.impl.lucene.index.IndexInfo.getMainIndexReferenceCountingReadOnlyIndexReader(IndexInfo.java:964)
        at org.alfresco.repo.search.impl.lucene.AbstractLuceneBase.getReader(AbstractLuceneBase.java:272)
        at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl.flushPending(AbstractLuceneIndexerImpl.java:746)
        at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl.doPrepare(ADMLuceneIndexerImpl.java:1361)
        at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl.prepare(AbstractLuceneIndexerImpl.java:472)
        at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerAndSearcherFactory.prepare(AbstractLuceneIndexerAndSearcherFactory.java:682)
        at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:602)
        at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:821)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:637)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:624)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:307)
        at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:420)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:250)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.reindexTransaction(FullIndexRecoveryComponent.java:346)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.performFullRecovery(FullIndexRecoveryComponent.java:262)
        at org.alfresco.repo.node.index.FullIndexRecoveryComponent.reindexImpl(FullIndexRecoveryComponent.java:206)
        at org.alfresco.repo.node.index.AbstractReindexComponent$1.execute(AbstractReindexComponent.java:216)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:236)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:185)
        at org.alfresco.repo.node.index.AbstractReindexComponent.reindex(AbstractReindexComponent.java:220)
        at org.alfresco.repo.node.index.IndexRecoveryBootstrapBean.onBootstrap(IndexRecoveryBootstrapBean.java:35)
        at org.alfresco.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:62)
        at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:241)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:349)
        at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        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:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)


Al cabo de un rato de sacar estos errores, saca este otro y se para todo el proceso

10:23:01,797 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/alfresco]] Excepción enviando evento inicializado de contexto a instanciade escuchador de clase org.springframework.web.context.ContextLoaderListener
org.alfresco.error.AlfrescoRuntimeException: Exception in Transaction.
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:318)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:185)
        at org.alfresco.repo.node.index.AbstractReindexComponent.reindex(AbstractReindexComponent.java:220)
        at org.alfresco.repo.node.index.IndexRecoveryBootstrapBean.onBootstrap(IndexRecoveryBootstrapBean.java:35)
        at org.alfresco.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:62)
        at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:241)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:349)
        at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        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:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.OutOfMemoryError: Java heap space

El ultimo error parece ser que usa demasiada memoria y se para.

Ahora mismo volvimos a lanzar el alfresco para ver si continua donde se quedo, pero me da la impresion de que comienza desde el principio.

¿Sabeis como solucionar este tema? ¿Hay alguna otra manera de generar los indices completamente? ¿Se necesita mas maquina?

Un saludo y gracias por vuestro tiempo.
4 Replies
pjcaracuel_2349
Active Member II

Re: Errores al reindexar

Buenas,

Echale un vistazo a este post

http://forums.alfresco.com/es/viewtopic.php?f=6&t=997

Saludos
xagaes
Member II

Re: Errores al reindexar

Gracias pjcaracuel.

En el post al que haces referencia aunque el error es similar, creo que no es el mismo caso.

De todas formas probare las soluciones que se plantean en el post a ver si hay suerte.

¿Alguna idea mas?

Un saludo a todos y muchas gracias de nuevo por la ayuda.
pjcaracuel_2349
Active Member II

Re: Errores al reindexar

REvisa la configuracion de la pila. En el post del foro en ingles que hay, viene como hacerlo.

Saludos
ajv
Member II

Re: Errores al reindexar

Hola xagaes,

El error ese de java.lang.OutOfMemoryError: Java heap space se suele producir por 2 motivos:
1.- Que la aplicación tenga pérdida de memoria (programación poco eficiente…que asumiremos que no Smiley Very Happy).
2.- Que la aplicación realmente requiera mucha memoria (que viendo la cantidad de documentos es posible que así sea). Para ello, se puede configurar la máquina virtual para que amplíe la memoria que se puede emplear. Lógicamente estará limitado finalmente por la memoria física que disponga tu máquina.
Échale un vistzo a este post, que es similar al tuyo: http://forums.alfresco.com/es/viewtopic.php?f=5&t=835&p=2962#p2951
Los parámetros que me da que has de ajustar son -Xms<tamaño minimo>  y -Xmx<tamaño maximo>

Te paso también un enlace del wiki donde hablan el tema del ajuste de la JVM: http://wiki.alfresco.com/wiki/JVM_Tuning
Espero que te sirva.

Saludos!