ReIndexación tras copia de seguridad

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

Re: ReIndexación tras copia de seguridad

Sería lo lógico pero si te fijas en la consulta hay un parametro que recibirá por algún lado:

where nodeimpl2_.id=? order by childassoc0_.assoc_index, childassoc0_.id

No obstante en producción donde tengo la versión de 32 bits nunca me había ocurrido que Alfresco tumbara el MySQL. Bueno, realmente no creo que lo tumbe, sino que la conexión la corta por timeout….
mikel_asla1
Active Member

Re: ReIndexación tras copia de seguridad

Esto tiene toda la pinta de configuración de Mysql en Windows, ya que el Indexer no esta diciendo nada, parece un problema puramente de perdida de sesión con la bbdd, ¿Donde has leído que Windows da el mismo rendimiento que Linux?
Por poner un ejemplo tontaco te diré, que sobre el papel, el modulo VTI funciona igual en Windows que en Linux, sin embargo, hasta que no modificas unas entradas en el registro de Windows, no funciona
Este tipo de cosas no están documentadas, etc, en Linux simplemente funciona, y punto.
javi_gimeno
Member II

Re: ReIndexación tras copia de seguridad

Hola Mikel,
en primer lugar comentarte que en mi empresa el entorno mayoritario es microsoft, por ello entre otras cosas instalamos en el servidor de producción windows 2003 server. Las pruebas que estoy realizando es para realizar la migración a 64bits a ser posible con un windows 2008 server 64bits, ambos sistemas operativos certificados por Alfresco. Lo que me comentas del rendimiento, creo haberlo leido en un libro de alfresco que tiene una flor amarilla en la portada, ahora mismo no recuerdo su nombre. En cualquier caso si el rendimiento en windows es un 5% (por ejemplo) peor que en linux es algo que podemos asumir en beneficio de una mejor integración con nuestro sistema.
No obstante no me caso con nadie, y creo que para cada ámbito tienes que adecuarte a la mejor opción posible. No dudo que un entorno linux te proporcione un sistema mas robusto, fiable y seguro, pero intento amoldarme a lo que tengo en la empresa.

Estoy contigo en que el error proviene de la base de datos, que por algún motivo corta la conexión… estoy haciendo pruebas intentando dar con la solución… por ello en un siguiente paso no se si probar migrar la bbdd de mysql a sql server y lanzar el proceso de nuevo (pensando en una posible mejor integración windows sql server), o bien tirar este servidor virtual con w2008 a la basura y realizar una instalación limpia con una distro de linux 64 con mysql y ver el rendimiento…
¿que me aconsejáis?.

Gracias y un saludo.
javi_gimeno
Member II

Re: ReIndexación tras copia de seguridad

En mi última prueba, arrancando alfresco con estos parametros

set JAVA_OPTS=-server -Xcomp -Xbatch -Xss1M -Xms2G -Xmx4G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=1G -XX:MaxPermSize=512M -XX:CMSInitiatingOccupancyFraction=80

Y le estoy dando a MySQL 2Gb de RAM…

09:53:30,772 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent] Iniciada la recuperación de índices: 224.373 transaciones.

va pasando el tiempo….

16:40:26,159 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    40 % completado.
16:53:49,454 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
16:53:49,456 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
16:53:49,499 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2883 objects
16:53:49,500 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 3576 collections
16:55:01,824 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
16:55:01,830 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
16:55:01,930 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2633 objects
16:55:01,931 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 2582 collections
16:57:21,540 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
16:57:21,543 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
16:57:21,582 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2918 objects
16:57:21,583 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 3158 collections
17:05:49,921 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
17:05:49,923 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
17:05:49,957 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2698 objects
17:05:49,957 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 3260 collections
17:08:45,486 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
17:08:45,488 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
17:08:45,523 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2993 objects
17:08:45,524 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 3816 collections
17:09:03,444 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
17:09:03,447 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
17:09:03,488 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2482 objects
17:09:03,488 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 2948 collections
17:11:10,351 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
17:11:10,354 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
17:11:10,388 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2449 objects
17:11:10,388 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 2732 collections
17:21:11,373 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
17:21:11,377 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
17:21:11,700 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 5887 objects
17:21:11,713 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 11616 collections
17:49:15,671 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
17:49:15,674 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
17:49:15,709 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 3220 objects
17:49:15,710 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 4272 collections
17:51:20,085 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
17:51:20,088 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
17:51:20,125 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2620 objects
17:51:20,125 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 2580 collections
17:59:37,045 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    50 % completado.
19:11:21,194 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
19:11:21,204 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
19:11:21,232 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 0 updates, 0 deletions to 2655 objects
19:11:21,232 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 3054 collections
19:22:34,125 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    60 % completado.

me parte el fichero de logs… y en el siguiente fichero, PUM

00:52:43,333 WARN  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Index cleaner failed with 
java.lang.OutOfMemoryError: Java heap space
00:52:43,416 DEBUG [org.hibernate.util.JDBCExceptionReporter] could not execute query [select childassoc0_.id as id7_0_, nodeimpl1_.id as id4_1_, nodeimpl2_.id as id4_2_, childassoc0_.version as version7_0_, childassoc0_.parent_node_id as parent3_7_0_, childassoc0_.type_qname_id as type4_7_0_, childassoc0_.child_node_name_crc as child5_7_0_, childassoc0_.child_node_name as child6_7_0_, childassoc0_.child_node_id as child7_7_0_, childassoc0_.qname_ns_id as qname8_7_0_, childassoc0_.qname_localname as qname9_7_0_, childassoc0_.is_primary as is10_7_0_, childassoc0_.assoc_index as assoc11_7_0_, nodeimpl1_.version as version4_1_, nodeimpl1_.store_id as store3_4_1_, nodeimpl1_.uuid as uuid4_1_, nodeimpl1_.transaction_id as transact5_4_1_, nodeimpl1_.node_deleted as node6_4_1_, nodeimpl1_.type_qname_id as type7_4_1_, nodeimpl1_.acl_id as acl8_4_1_, nodeimpl1_.audit_creator as audit9_4_1_, nodeimpl1_.audit_created as audit10_4_1_, nodeimpl1_.audit_modifier as audit11_4_1_, nodeimpl1_.audit_modified as audit12_4_1_, nodeimpl1_.audit_accessed as audit13_4_1_, nodeimpl2_.version as version4_2_, nodeimpl2_.store_id as store3_4_2_, nodeimpl2_.uuid as uuid4_2_, nodeimpl2_.transaction_id as transact5_4_2_, nodeimpl2_.node_deleted as node6_4_2_, nodeimpl2_.type_qname_id as type7_4_2_, nodeimpl2_.acl_id as acl8_4_2_, nodeimpl2_.audit_creator as audit9_4_2_, nodeimpl2_.audit_created as audit10_4_2_, nodeimpl2_.audit_modifier as audit11_4_2_, nodeimpl2_.audit_modified as audit12_4_2_, nodeimpl2_.audit_accessed as audit13_4_2_ from alf_child_assoc childassoc0_ inner join alf_node nodeimpl1_ on childassoc0_.parent_node_id=nodeimpl1_.id inner join alf_node nodeimpl2_ on childassoc0_.child_node_id=nodeimpl2_.id where nodeimpl2_.id=? order by childassoc0_.assoc_index, childassoc0_.id]
java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:430)
   at com.mysql.jdbc.PreparedStatement.getInstance(PreparedStatement.java:561)
   at com.mysql.jdbc.ConnectionImpl.clientPrepareStatement(ConnectionImpl.java:1395)
   at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4178)
   at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4077)
   at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:248)
   at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:302)
   at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:505)
   at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:423)
   at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
   at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
   at org.hibernate.loader.Loader.doQuery(Loader.java:673)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
   at org.hibernate.loader.Loader.doList(Loader.java:2213)
   at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
   at org.hibernate.loader.Loader.list(Loader.java:2099)
   at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
   at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
   at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
   at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
   at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
   at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl$31.doInHibernate(HibernateNodeDaoServiceImpl.java:3163)
   at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
   at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:338)
   at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.getParentAssocsInternal(HibernateNodeDaoServiceImpl.java:3166)
   at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.getParentAssocs(HibernateNodeDaoServiceImpl.java:3197)
   at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
   at org.alfresco.repo.transaction.TransactionalDaoInterceptor.invoke(TransactionalDaoInterceptor.java:68)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
   at org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor.invoke(DirtySessionMethodInterceptor.java:381)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
   at $Proxy7.getParentAssocs(Unknown Source)
   at org.alfresco.repo.node.db.DbNodeServiceImpl.prependPaths(DbNodeServiceImpl.java:1767)
   at org.alfresco.repo.node.db.DbNodeServiceImpl.prependPaths(DbNodeServiceImpl.java:1863)
   at org.alfresco.repo.node.db.DbNodeServiceImpl.getPaths(DbNodeServiceImpl.java:1899)
   at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
   at org.alfresco.repo.transaction.SingleEntryTransactionResourceInterceptor.invokeInternal(SingleEntryTransactionResourceInterceptor.java:169)
   at org.alfresco.repo.transaction.SingleEntryTransactionResourceInterceptor.invoke(SingleEntryTransactionResourceInterceptor.java:138)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
   at $Proxy9.getPaths(Unknown Source)
   at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
   at org.alfresco.repo.tenant.MultiTNodeServiceInterceptor.invoke(MultiTNodeServiceInterceptor.java:110)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
   at $Proxy9.getPaths(Unknown Source)
   at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.service.StoreRedirectorProxyFactory$RedirectorInvocationHandler.invoke(StoreRedirectorProxyFactory.java:221)
   at $Proxy10.getPaths(Unknown Source)
   at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl.createDocuments(ADMLuceneIndexerImpl.java:584)
   at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl.indexImpl(AbstractLuceneIndexerImpl.java:632)
   at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl.indexImpl(AbstractLuceneIndexerImpl.java:657)
   at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl.flushPending(AbstractLuceneIndexerImpl.java:789)
   at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl.doPrepare(ADMLuceneIndexerImpl.java:1633)
   at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl.prepare(AbstractLuceneIndexerImpl.java:472)
   at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerAndSearcherFactory.prepare(AbstractLuceneIndexerAndSearcherFactory.java:792)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:667)
   at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:835)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:645)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:467)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:340)
   at org.alfresco.repo.node.index.AbstractReindexComponent$ReindexWorkerRunnable.run(AbstractReindexComponent.java:780)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:662)
00:52:43,334 WARN  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Index cleaner failed with
java.lang.OutOfMemoryError: Java heap space
00:52:43,334 WARN  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Index merger failed with
java.lang.OutOfMemoryError: Java heap space
   at org.apache.lucene.index.TermBuffer.toTerm(TermBuffer.java:122)
   at org.apache.lucene.index.SegmentTermEnum.term(SegmentTermEnum.java:167)
   at org.apache.lucene.index.TermInfosReader.ensureIndexIsRead(TermInfosReader.java:178)
   at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:225)
   at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:218)
   at org.apache.lucene.index.SegmentTermDocs.seek(SegmentTermDocs.java:55)
   at org.apache.lucene.index.IndexReader.termDocs(IndexReader.java:780)
   at org.apache.lucene.index.IndexReader.deleteDocuments(IndexReader.java:868)
   at org.alfresco.repo.search.impl.lucene.index.IndexInfo$Merger.mergeDeletions(IndexInfo.java:3433)
   at org.alfresco.repo.search.impl.lucene.index.IndexInfo$Merger.runImpl(IndexInfo.java:3155)
   at org.alfresco.repo.search.impl.lucene.index.IndexInfo$AbstractSchedulable.run(IndexInfo.java:2995)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:662)
00:53:03,906 WARN  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Index cleaner recovered from
java.lang.OutOfMemoryError: Java heap space
00:53:03,880 WARN  [org.hibernate.util.JDBCExceptionReporter] SQL Error: 0, SQLState: S1000
00:52:43,547 WARN  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Index cleaner recovered from
java.lang.OutOfMemoryError: Java heap space
00:53:03,968 ERROR [org.hibernate.util.JDBCExceptionReporter] java.lang.OutOfMemoryError: Java heap space
00:53:24,407 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: leaving index entry  Name=87b472ba-a5cc-4f03-b98d-0b64d1fe13cc Type=INDEX Status=COMMITTED Docs=1815260 Deletions=0
00:53:24,408 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: leaving index entry  Name=1362b5ce-c5e8-40b3-abbf-8da22d057848 Type=INDEX Status=COMMITTED Docs=621218 Deletions=0
00:53:24,408 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: leaving index entry  Name=1fcdb575-8420-42cd-9f21-4278a61febfa Type=INDEX Status=COMMITTED Docs=130823 Deletions=0
00:53:24,408 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: leaving index entry  Name=38639dbf-071f-4471-b1d3-b63f8d5b70c2 Type=INDEX Status=COMMITTED Docs=6655 Deletions=0
00:53:24,408 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: leaving index entry  Name=079c55cc-6246-49ca-8d1b-3eea1d26e66a Type=INDEX Status=COMMITTED Docs=6332 Deletions=0
00:53:24,408 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: Resetting merge and committed_deleting to committed  Name=81c3da3a-8c04-402a-ac85-18bec3b247aa Type=DELTA Status=COMMITTED_DELETING Docs=326 Deletions=179
00:53:24,409 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: Resetting merge and committed_deleting to committed  Name=af656326-cfe9-4f95-9f8a-2ec773b6fd17 Type=DELTA Status=COMMITTED_DELETING Docs=501 Deletions=294
00:53:24,409 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: Resetting merge and committed_deleting to committed  Name=0f2d1e23-c2e7-4837-8346-75282e71686f Type=DELTA Status=COMMITTED_DELETING Docs=496 Deletions=293
00:53:24,409 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: Resetting merge and committed_deleting to committed  Name=2c5ce077-b841-4266-96aa-d6b8c612c8c1 Type=DELTA Status=COMMITTED_DELETING Docs=465 Deletions=277
00:53:24,409 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: Resetting merge and committed_deleting to committed  Name=46e500b0-c35d-474b-ae41-f433fda4fa16 Type=DELTA Status=COMMITTED_DELETING Docs=637 Deletions=392
00:53:24,409 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: Resetting merge and committed_deleting to committed  Name=8d84aaf9-e296-432b-9684-b4778864134f Type=DELTA Status=COMMITTED_DELETING Docs=324 Deletions=178
00:53:24,409 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: Resetting merge and committed_deleting to committed  Name=1a5e0fb7-91f3-4656-b393-8843baf59c89 Type=DELTA Status=COMMITTED_DELETING Docs=350 Deletions=193
00:53:24,409 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: leaving index entry  Name=71b396ca-3d80-4ae3-a28b-5b983847d16a Type=DELTA Status=PREPARING Docs=0 Deletions=0
00:53:24,412 INFO  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Roll back merge: leaving index entry  Name=0e175f7c-77b9-4084-a51b-6af021695253 Type=DELTA Status=PREPARING Docs=0 Deletions=0
00:53:24,432 WARN  [org.alfresco.repo.search.impl.lucene.index.IndexInfo] Index merger recovered from
java.lang.OutOfMemoryError: Java heap space

lo último que esperaba era un java heap space… son 4Gb… debo asignarle mas memoria a alfresco y quitarsela a mysql??, no son excesivos 4Gb para recuperar este índice…. no acabo de entender muy bien lo que estoy viendo.
fegor
Senior Member

Re: ReIndexación tras copia de seguridad

¿Has probado a reindexar tu Alfresco nativo?, o sea, el que tienes en win2k3. Haz antes una copia de tu lucene-indexes y luego borra ese directorio y haces un FULL.

Si te funciona, todo correcto, es decir, no hay problema de inconsistencias de ningún tipo, por tanto te quedan dos cosas a mi entender.

1. La base de datos, por algún motivo deja de responder, eso es configuración de esta y del win2k8 que puede ser que cierre puertos, ya que como sabes Alfresco se comunica con mysql por TCP, generalmente el TCP3306.

2. La configuración de máquina JVM, no depende de la heap solamente, sino también de equilibrar bien la memoria de pila y la Perm. Prueba con otra configuración a ver que pasa, por ejemplo:


set JAVA_OPTS=-Xss128k -Xms1536m -Xmx1536m -XX:PermSize=256m -XX:MaxPermSize=256m -server

Se que tu máquina es 64 bits y por tanto la -Xmx podría ser mayor de 1,5Gb. pero es para adecuarlo más a tu entorno original y por otra parte, porque creo que no necesitas tanta heap para eso.

Un saludo.
javi_gimeno
Member II

Re: ReIndexación tras copia de seguridad

Hola Fernando, gracias por tu respuesta. Lo ideal sería realizar la reindexación en un entorno exactamente idéntico. Si te digo la verdad, solo de pensar que tengo que hacer la reindexación en producción me entra canguelo solo de pensarlo. Es un servicio que se utiliza todos los días y no sería muy conveniente tenerlo parado mucho tiempo, además nadie me garantiza que se recupere correctamente.
Por esto estamos desarrollando un plan de contingencia para estos casos, para agilizar las pruebas trabajamos con máquina virtuales. He realizado pruebas de recuperación en caso de perdida del entorno de desarrollo que tengo (con win2k3) y con muchísimos menos datos y ha funcionado correctamente. Para hacer lo que tu me recomiendas, tengo una máquina virtual con un win2k3, pero no se porque razón no me deja asignar mas de unos 750mb al jvm. En cualquier caso las pruebas que vaya realizando las postearé por si son de ayuda para demás usuarios.
mikel_asla1
Active Member

Re: ReIndexación tras copia de seguridad

Una cosa, sigues con 4 Gigas de RAM?, si le estas dando toda la memoria de la maquina al proceso Java….. malo. La verdad es que el volumen de repositorio que comentas no me parece tan grande para dar los problemas que estas teniendo, yo he restaurado entornos "pareecidos" sin grandes problemas, eso si, siempre en Linux. Windows es muy dado a poner limites por todos lados en su registro, yo pensaría en cosas sencillas de estas, ya que con la configuración que te ha propuesto Fernando, debería ser más que suficiente.

Bueno a ver si entre todos podemos dar con la clave.
Un saludo