Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

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

Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

Buenos días,

Estoy haciendo pruebas de migración de alfresco desde una maquina virtual antes de hacer la migración verdadera, y me encuentro con el siguiente error.


Empiezo contando un poco la situación de los pasos que he ido haciendo y acabare poniendo los logs y otros archivos que creo que pueden ser de ayuda para analizar el error.

Como comento en el asunto, estoy migrando una instalación de alfresco 4.0e a 4.2f.

Tengo una instalación de alfresco 4.0e estable y funcionando correctamente.
Uso la base de datos MySQL

Partiendo de esto, mis pasos han sido los siguientes:
1- Parar alfresco 4.0e
2- instalación de alfresco 4.2.f en un directorio disinto
3- iniciar alfresco 4.2f -> se inicia correctamente y tengo acceso a alfresco y share
4- parar alfresco 4.2f
5- copiar alf_data de 4.0e a la nueva 4.2f (con el nombre de alf_data_40e para no sobreescribir el alf_data original de la versión 4.2f)
6- modificar alfresco-global.properties
- dir.root que apunte a alf_data_40e
- datos de "db.xxx" -> que apunten a la base de datos antigua (la original con todos los datos)
- demas cambios que tenemos en el alfresco-global.properties como los indices lucene, datos de servidor de correos, etc…
7- copiar contendio de alfresco-40e/tomcat/sharec/clases/alfresco
8- iniciar alfresco 4.2f

Una vez esta inciando, alfresco detecta que la base de datos no tiene la versión correcta, y empieza a pasar unos scripts para "actualizarla".

Os marco entre ********************** las lineas que creo que son las importantes.

este es el fichero alfresco.log
<php>10:44:26,165 INFO  [org.alfresco.repo.admin] Using database URL 'jdbc:mysql://localhost:3306/alfresco40e' with user 'alfresco'.
10:44:26,647 INFO  [org.alfresco.repo.admin] Connected to database MySQL version 5.5.28-0ubuntu0.12.04.3-log
10:44:34,796 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Starting 'sysAdmin' subsystem, ID: [sysAdmin, default]
10:44:34,828 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Startup of 'sysAdmin' subsystem, ID: [sysAdmin, default] complete
10:44:48,233 WARN  [org.springframework.extensions.webscripts.FormatRegistry] Replacing mimetype 'application/vnd.ms-excel' with 'application/vnd.ms-excel' for format 'xls' (agent: null)
10:44:48,333 INFO  [org.springframework.extensions.webscripts.TemplateProcessorRegistry] Registered template processor Repository Template Processor for extension ftl
10:44:48,338 INFO  [org.springframework.extensions.webscripts.ScriptProcessorRegistry] Registered script processor Repository Script Processor for extension js
10:44:59,950 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Connecting to database: jdbc:mysql://localhost:3306/alfresco40e, UserName=alfresco@localhost, MySQL-AB JDBC Driver
10:44:59,950 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema managed by database dialect org.hibernate.dialect.MySQLInnoDBDialect.
10:45:04,696 WARN  [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema validation found 37 potential problems, results written to: /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-MySQLInnoDBDialect-Validation-Pre-Upgrade-alf_-6882154609191400563.txt
10:45:05,171 WARN  [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema validation found 8 potential problems, results written to: /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-MySQLInnoDBDialect-Validation-Pre-Upgrade-avm_-6378336377761058608.txt
10:45:06,050 WARN  [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema validation found 87 potential problems, results written to: /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-MySQLInnoDBDialect-Validation-Pre-Upgrade-jbpm_-3123923428825095126.txt
10:45:06,263 WARN  [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema validation found 43 potential problems, results written to: /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-MySQLInnoDBDialect-Validation-Pre-Upgrade-act_-8174782601502960409.txt
10:45:11,102 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Normalized schema dumped to file /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-schema-MySQLInnoDBDialect-pre-upgrade-alf_-3164010046680318122.xml.
10:45:11,102 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Normalized schema dumped to file /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-schema-MySQLInnoDBDialect-pre-upgrade-avm_-5575944862436103010.xml.
10:45:11,103 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Normalized schema dumped to file /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-schema-MySQLInnoDBDialect-pre-upgrade-jbpm_-5001718020356570716.xml.
10:45:11,103 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Normalized schema dumped to file /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/Alfresco-schema-MySQLInnoDBDialect-pre-upgrade-act_-5765122932744830737.xml.
10:45:11,289 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Executing database script /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/AlfrescoSchema-MySQLInnoDBDialect-Update-1531203051944959236.sql (Copied from classpath:alfresco/dbscripts/upgrade/4.0/org.hibernate.dialect.MySQLInnoDBDialect/AclChangeSet-Tracking2.sql).
10:45:11,582 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Executing database script /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/AlfrescoSchema-MySQLInnoDBDialect-Update-7882401746459032508.sql (Copied from classpath:alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-TenantTables.sql).
**********************
10:45:11,648 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Executing database script /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/AlfrescoSchema-MySQLInnoDBDialect-Update-4206943884853548940.sql (Copied from classpath:alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.MySQLInnoDBDialect/NodeDeleted.sql).
10:46:08,687 ERROR [org.alfresco.repo.domain.schema.SchemaBootstrap] Statement execution failed:
   SQL: alter table alf_child_assoc
    add constraint fk_alf_cass_cnode foreign key (child_node_id) references alf_node(id),
    add constraint fk_alf_cass_pnode foreign key (parent_node_id) references alf_node(id)

   Error: Communications link failure
**********************
Last packet sent to the server was 680 ms ago.
   File: /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/AlfrescoSchema-MySQLInnoDBDialect-Update-4206943884853548940.sql
   Line: 105
10:46:08,692 ERROR [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema auto-update failed
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last packet sent to the server was 680 ms ago.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3009)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.executeStatement(SchemaBootstrap.java:1485)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.executeScriptFile(SchemaBootstrap.java:1435)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.executeScriptUrl(SchemaBootstrap.java:1120)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.checkSchemaPatchScripts(SchemaBootstrap.java:1091)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.updateSchema(SchemaBootstrap.java:957)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.onBootstrap(SchemaBootstrap.java:1649)
    at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:56)
    at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:209)
    at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:180)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2455)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906)
    … 41 more
10:46:08,699 WARN  [org.alfresco.repo.domain.schema.SchemaBootstrap] Error closing DB connection: Already closed.
10:46:08,699 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: 06290000 Schema auto-update failed
    at org.alfresco.repo.domain.schema.SchemaBootstrap.onBootstrap(SchemaBootstrap.java:1748)
    at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:56)
    at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:209)
    at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:180)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last packet sent to the server was 680 ms ago.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3009)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.executeStatement(SchemaBootstrap.java:1485)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.executeScriptFile(SchemaBootstrap.java:1435)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.executeScriptUrl(SchemaBootstrap.java:1120)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.checkSchemaPatchScripts(SchemaBootstrap.java:1091)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.updateSchema(SchemaBootstrap.java:957)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.onBootstrap(SchemaBootstrap.java:1649)
    … 24 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2455)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906)
    … 41 more
</php>

Antes del error se puede ver que esta ejecutando el script:
10:45:11,648 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Executing database script /home/ruben/alfresco-4.2.f/tomcat/temp/Alfresco/AlfrescoSchema-MySQLInnoDBDialect-Update-4206943884853548940.sql (Copied from classpath:alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.MySQLInnoDBDialect/NodeDeleted.sql).

y parece dar error en esta query:
alter table alf_child_assoc
    add constraint fk_alf_cass_cnode foreign key (child_node_id) references alf_node(id),
    add constraint fk_alf_cass_pnode foreign key (parent_node_id) references alf_node(id)

os pongo el script que genera el error (os marco entre ********************** justo el sql que da el error):


– Title:      Update alf_txn table and alf_node indexes to support SOLR tracking
– Database:   MySQL
– Since:      V4.1 Schema 5113
– Author:     Derek Hulley
– Author:     Dmitry Velichkevich

– Please contact support@alfresco.com if you need assistance with the upgrade.




–ASSIGN:SYSTEM_NS_ID=id
select id from alf_namespace where uri = 'http://www.alfresco.org/model/system/1.0';


insert into alf_qname (version, ns_id, local_name) values (0, ${SYSTEM_NS_ID}, 'deleted');         – (optional)


–ASSIGN:DELETED_TYPE_ID=id
select id from alf_qname where ns_id = ${SYSTEM_NS_ID} and local_name = 'deleted';


alter table alf_node
    drop foreign key fk_alf_node_acl,
    drop foreign key fk_alf_node_store,
    drop foreign key fk_alf_node_tqn,
    drop foreign key fk_alf_node_txn,
    drop foreign key fk_alf_node_loc,
    drop index store_id,
    drop index idx_alf_node_txn_del,
    drop index fk_alf_node_acl,
    drop index fk_alf_node_txn,
    drop index fk_alf_node_store,
    drop index fk_alf_node_tqn,
    drop index fk_alf_node_loc;

alter table alf_child_assoc
    drop foreign key fk_alf_cass_cnode,
    drop foreign key fk_alf_cass_pnode;

alter table alf_node_assoc
    drop foreign key fk_alf_nass_snode,
    drop foreign key fk_alf_nass_tnode;

alter table alf_subscriptions
    drop foreign key fk_alf_sub_user,
    drop foreign key fk_alf_sub_node;

alter table alf_store
    drop foreign key fk_alf_store_root,
    drop index fk_alf_store_root;

alter table alf_node_properties drop foreign key fk_alf_nprop_n;

alter table alf_usage_delta drop foreign key fk_alf_usaged_n;

alter table alf_node_aspects drop foreign key fk_alf_nasp_n;


alter table alf_node rename to t_alf_node;


create table alf_node
(
    id BIGINT not NULL AUTO_INCREMENT,
    version BIGINT not NULL,
    store_id BIGINT not NULL,
    uuid VARCHAR(36) not NULL,
    transaction_id BIGINT not NULL,
    type_qname_id BIGINT not NULL,
    locale_id BIGINT not NULL,
    acl_id BIGINT,
    audit_creator VARCHAR(255),
    audit_created VARCHAR(30),
    audit_modifier VARCHAR(255),
    audit_modified VARCHAR(30),
    audit_accessed VARCHAR(30),
    primary key (id),
    unique key store_id(store_id, uuid),
    key idx_alf_node_txn_type(transaction_id, type_qname_id),
    key fk_alf_node_acl(acl_id),
    key fk_alf_node_store(store_id),
    key fk_alf_node_tqn(type_qname_id),
    key fk_alf_node_loc(locale_id),
    constraint fk_alf_node_acl foreign key (acl_id) references alf_access_control_list(id),
    constraint fk_alf_node_store foreign key (store_id) references alf_store(id),
    constraint fk_alf_node_tqn foreign key (type_qname_id) references alf_qname(id),
    constraint fk_alf_node_txn foreign key (transaction_id) references alf_transaction(id),
    constraint fk_alf_node_loc foreign key (locale_id) references alf_locale(id)
) ENGINE=InnoDB;


–FOREACH t_alf_node.id system.upgrade.alf_node_deleted_type.batchsize
insert into alf_node
(id, version, store_id, uuid, transaction_id, type_qname_id, locale_id, acl_id, audit_creator, audit_created, audit_modifier, audit_modified, audit_accessed)
(
    select
       id, version, store_id, uuid, transaction_id, (case when 1 = node_deleted then ${DELETED_TYPE_ID} else type_qname_id end), locale_id, acl_id,
       audit_creator, audit_created, audit_modifier, audit_modified, audit_accessed
    from
       t_alf_node
    where
       id >= ${LOWERBOUND} AND id <= ${UPPERBOUND}
);

drop table t_alf_node;


alter table alf_store
    add index fk_alf_store_root(root_node_id),
    add constraint fk_alf_store_root foreign key (root_node_id) references alf_node(id);

**********************
alter table alf_child_assoc
    add constraint fk_alf_cass_cnode foreign key (child_node_id) references alf_node(id),
    add constraint fk_alf_cass_pnode foreign key (parent_node_id) references alf_node(id);
**********************

alter table alf_node_assoc
    add constraint fk_alf_nass_snode foreign key (source_node_id) references alf_node(id),
    add constraint fk_alf_nass_tnode foreign key (target_node_id) references alf_node(id);

alter table alf_subscriptions
    add constraint fk_alf_sub_user foreign key (user_node_id) references alf_node(id) on delete cascade,
    add constraint fk_alf_sub_node foreign key (node_id) references alf_node(id) on delete cascade;

alter table alf_node_properties add constraint fk_alf_nprop_n foreign key (node_id) references alf_node(id);

alter table alf_usage_delta add constraint fk_alf_usaged_n foreign key (node_id) references alf_node(id);

alter table alf_node_aspects add constraint fk_alf_nasp_n foreign key (node_id) references alf_node(id);




– Record script finish

DELETE FROM alf_applied_patch WHERE id = 'patch.db-V4.1-NodeDeleted';
INSERT INTO alf_applied_patch
  (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
  VALUES
  (
    'patch.db-V4.1-NodeDeleted', 'Manually executed script upgrade V4.1: Remove node_deleted',
    0, 6014, -1, 6015, null, 'UNKNOWN', ${TRUE}, ${TRUE}, 'Script completed'
  );


si entro dentro del mysql y ejecuto esas querys, no me da ningun error.
Y ejecuntado el mismo proceso de migración, a veces da el error unas lineas mas arriba o unas lineas mas abajo.

Lo cual me da a entender que no es problema de la query en si, sino mas bien un error de tiempo de ejecución, que cuando se le agota, da el error.

Lo que no se es si estoy en lo cierto respecto a si es por el tiempo de ejecución, o si estoy realizando algo mal en la migración.

Me imagino que el tiempo de ejecución sera algun parametro de alfresco-global.properties o directamente de la configuración de MySQL.

Estos son algunos parametros que he incrementado en la configuración de MySQL para probar, sin que me haya dado resultado alguno
(variable) = (defecto) -> (parametro incrementado)
max_connections = 151 -> 300
connect_timeout = 10 -> 200
net_read_timeout = 30 -> 300
max_allowed_packet = 16777216 -> 32000000

Gracias de antemano,

Rubén Arjonilla Zamora
8 Replies
angelborroy
Alfresco Employee

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

Parece que hay que poner MySQL en lowercase para esa versión antes de intentar la migración. Tienes alguna pista por aquí https://forums.alfresco.com/forum/installation-upgrades-configuration-integration/installation-upgra...
Hyland Developer Evangelist
ruben_arjonilla
Member II

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

He echo la prueba poniendo el parametro lower_case_table_names=1.

Me salta un error nada mas conectar con la base de datos, mucho antes de lo que me esta dando a mi (a mi almenos pasa 10 scripts, y falla en el que hace 11).

Pongo la parte de log donde salta el error.

<php>10:47:40,370 INFO  [org.springframework.extensions.webscripts.ScriptProcessorRegistry] Registered script processor Repository Script Processor for extension js
10:47:51,518 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Connecting to database: jdbc:mysql://localhost:3306/alfresco40e, UserName=alfresco@localhost, MySQL-AB JDBC Driver
10:47:51,518 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema managed by database dialect org.hibernate.dialect.MySQLInnoDBDialect.
10:47:51,682 ERROR [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema auto-update failed
org.hibernate.exception.SQLGrammarException: could not get table metadata: JBPM_ACTION
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
    at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:105)
    at org.hibernate.cfg.Configuration.generateSchemaUpdateScript(Configuration.java:960)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.updateSchema(SchemaBootstrap.java:931)
    at org.alfresco.repo.domain.schema.SchemaBootstrap.onBootstrap(SchemaBootstrap.java:1649)
    at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:56)
</php>
angelborroy
Alfresco Employee

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

Parece que el problema ocurre en el driver JDBC. Quizá podrías probar a establecer un maxIdleTime diferente de 0 (p. e. 3600) para que no salte el timeout.
Hyland Developer Evangelist
ruben_arjonilla
Member II

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

He puesto el parámetro db.pool.maxIdleTime=3600 en alfresco-global.properties y me sigue dando el mismo error.
También he echo la prueba poniendo el parametro en webapps/alfresco/WEB-INF/classes/alfresco/repository.properties y también fa el mismo error.

¿Lo estoy poniendo mal?
¿No es este parámetro?
ruben_arjonilla
Member II

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

Hoy he estado haciendo pruebas.

Lo primero que he echo ha sido, en vez de migrar a alfresco 4.2.f, he probado haciendo una migración a 4.2.a (seria la siguiente versión después de la mía).

Empieza el proceso y me da error exactamente en el mismo script.

Después de eso, me he dedicado a buscar los scripts que se ejecutan (són 7 antes de este que me falla), y los he pasado manualmente desde la consola sin ningun problema, hasta llegar al que me da error.

He pasado una a una las consultas hasta llegar a una de las anteriores a la que me da el error.




–FOREACH t_alf_node.id system.upgrade.alf_node_deleted_type.batchsize
insert into alf_node
(id, version, store_id, uuid, transaction_id, type_qname_id, locale_id, acl_id, audit_creator, audit_created, audit_modifier, audit_modified, audit_accessed)
(
    select
       id, version, store_id, uuid, transaction_id, (case when 1 = node_deleted then ${DELETED_TYPE_ID} else type_qname_id end), locale_id, acl_id,
       audit_creator, audit_created, audit_modifier, audit_modified, audit_accessed
    from
       t_alf_node
    where
       id >= ${LOWERBOUND} AND id <= ${UPPERBOUND}
);

drop table t_alf_node;


alter table alf_store
    add index fk_alf_store_root(root_node_id),
    add constraint fk_alf_store_root foreign key (root_node_id) references alf_node(id);

**********************
alter table alf_child_assoc
    add constraint fk_alf_cass_cnode foreign key (child_node_id) references alf_node(id),
    add constraint fk_alf_cass_pnode foreign key (parent_node_id) references alf_node(id);
**********************


La que me salia el error al iniciar alfresco es la que esta envuelta entre *******.

Pues bien, cuando pasa el siguiente sql, se bloquea el mysql, se pierde conexión y no me deja iniciarlo ni hacer nada más.

Me imagino que es lo mismo que debe pasar cuando inicio alfresco, llegado a esa consulta, el mysql se para y ya no avanza más.

os pongo lo que me sale en el mysql.

Por lo que parece, la query anterior a esta que os pongo es la problematica y la que hace que se pare mysql.
mysql> drop table t_alf_node;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock (111)
ERROR:
Can't connect to the server


A partir de este momento, cualquier consulta que ejecuto, ya sea un select, cambiar de base de datos o lo que sea, falla.

mysql> show databases;
No connection. Trying to reconnect…
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock (111)
ERROR:
Can't connect to the server


Si salgo, y compruebo el estado del servicio mysql, este esta parado, y si intento iniciarlo, me da error

sudo service mysql status
mysql stop/waiting
sudo service mysql start
start: Job failed to start

ruben_arjonilla
Member II

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

Al fin he conseguido tirar adelante la migración (de 4.0.e a 4.2.a, y posteriormente de 4.2.a a 4.2.f).
Os comento lo que era y como lo he solucionado por si a alguien le ocurre algo similar.

El problema viene de que estoy haciendo todo el proceso desde una maquina virtual, y por tanto, tiene los recursos "limitados" en comparación con PC normal.

Sabiendo esto, cuando pasaba los scripts, siempre daba el error mas o menos en la misma consulta, esto se debía a que la maquina virtual, despues de tanto ajetreo moviendo datos de una tabla a otra, con los índices, tablas temporales y demás, se quedaba sin memoria, y por tanto empezaba a fallar por todos lados.

La solución.

He pasado los scripts hasta justo antes de donde me daba el error.
En este punto, he reiniciado la maquina virtual, y por tanto, se ha liberado toda la memoria que estaba dando problemas.
Una vez reiniciado, he acabado de pasar el script que me daba problemas.

Una vez pasado este tramite de los scripts, he iniciado el upgrade automático, y este ha seguido con los scripts siguientes a donde yo lo deje (es decir, si yo he pasado 8 scripts manualmente, alfresco ha continuado pasando scripts desde el noveno), y ya ha ido hasta el final, pudiendo acceder a alfresco en su nueva versión y con todo su contenido de alfresco 4.0.e.

Una vez ha estado listo, he vuelto a repetir el proceso de upgrade de 4.2.a a 4.2.f, esta vez sin ningún contratiempo raro.

Muchas gracias por tu ayuda Angel Smiley Happy
angelborroy
Alfresco Employee

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

Buen trabajo, Ruben.

¿Crees que era necesario pasar por la 4.2.a o una vez detectado el problema podrías haber ido directo a la 4.2.f?
Hyland Developer Evangelist
ruben_arjonilla
Member II

Re: Error en Migración de Alfresco 4.0e a Alfresco 4.2f [SOLUCIONADO]

Siguiendo los pasos que hice, seguramente podria haber pasado directamente a la 4.2.f, ya que el error que me daba era exactamente el mismo en las 2 versiones.