AnsweredAssumed Answered

ReIndexación tras copia de seguridad

Question asked by javi.gimeno on Oct 27, 2010
Latest reply on Nov 9, 2010 by mikel.asla
Buenos días,
siguiendo nuestro plan de contingencia estoy realizando un nuevo entorno para realizar pruebas. Para ello he tomado la copia de seguridad del entorno de producción para restaurar una copia idéntica en este nuevo entorno. Los entornos son los siguientes:
Producción:
W2003 Server 32 Bits + Tomcat 6 + MySQL 5.1 + Alfresco 3.2 CE + Java 1.6
2 Procesadores Intel Xeon 5130 2Ghz (2 core cada uno).
4 GB RAM
JVM: JAVA_OPTS=-Xms768m -Xmx1536m -Xss1m -XX:MaxPermSize=128m -Xcomp -Xbatch -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=384m -XX:CMSInitiatingOccupancyFraction=80 -server -Dalfresco.home=%ALF_HOME% -Dcom.sun.management.jmxremote

Pruebas:
Máquina virtual
W2008 Server 64bits + Tomcat 6 + MySQL 5.1 64 bits +Alfresco 3.2 CE + Java 1.6 64 Bits
4 Procesadores Intel Xeon E7440 2.4Ghz
8GB RAM
JVM: JAVA_OPTS=-server -Xcomp -Xbatch -Xss1M -Xms2G -Xmx3G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=1G -XX:MaxPermSize=256M -XX:CMSInitiatingOccupancyFraction=80

Para restaurar de la copia de seguridad sigo los pasos del wiki de copias de seguridad. Cuando restauro los índices da un error:

14:01:46,772 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] No se hicieron cambios en el esquema.
14:01:58,348 DEBUG [org.alfresco.repo.node.index.FullIndexRecoveryComponent] Performing index recovery for type: FULL
14:02:03,455 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent] Iniciada la recuperación de índices: 205.526 transaciones.
15:42:36,353 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    10 % completado.
19:06:47,530 ERROR [org.hibernate.transaction.JDBCTransaction] JDBC rollback failed
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Connection.close() has already been called. Invalid operation in this state.
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
   at com.mysql.jdbc.Util.getInstance(Util.java:381)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
   at com.mysql.jdbc.ConnectionImpl.getMutex(ConnectionImpl.java:3032)
   at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4606)
   at org.apache.commons.dbcp.DelegatingConnection.rollback(DelegatingConnection.java:328)
   at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.rollback(PoolingDataSource.java:312)
   at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
   at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
   at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:597)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:753)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:730)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:332)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.completeTransactionAfterThrowing(SpringAwareUserTransaction.java:562)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.rollback(SpringAwareUserTransaction.java:532)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:387)
   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)

¿Es normal que tarde tanto para 205.526 transacciones?, hasta sacar el 10% de lo completado tarda mas de una hora y media, además la siguiente respuesta la consigo casi 5 horas después y retorna un error como si hubiera algún problema con la base de datos…

Alguien la pasa lo mismo? que me aconsejáis para solucionar el problema?, he leído bastante por el foro y los logs que he visto de otras instalaciones tardan menos en reindexar el índice.

Gracias y un saludo.

Outcomes