cancel
Showing results for 
Search instead for 
Did you mean: 

Direct migration 2.1 -> 3.3 is it possible?

joko71
Confirmed Champ
Confirmed Champ
Hi,

I've googled the net to find out if direct migration 2.1 -> 3.3 is possible. All I've found is recommendations to go with intermediary versions, but not the definite answer if direct migration is possible/not possible.

Can someone tell me if direct migration is possible, and if it is not possible, why?

Our original version is 2.1.0 (482) schema 64.

We succeeded in starting our customized applications with empty 3.3 DB schema, but when we try to replace it with 2.1 DB schema, Alfresco instead of starting migration scripts complains that repository folder alf_data is not set correctly because it cannot find something, and recommends full reindex.

When we do full reindex, Aflresco discovers only 300+ transactions instead of 100 thousand or more, quickly comes to 100%, then crashes.

08:36:22,284 ERROR [org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformerWorker] ImageMagickContentTransformerWorker not available: 02250000 Failed to perform ImageMagick transformation: 
Execution result:
   os:         Windows 7
   command:    [./ImageMagick/bin/convert, C:\Users\XXX~1\AppData\Local\Temp\Alfresco\ImageMagickContentTransformerWorker_init_source_6364639058770917388.gif[0], C:\Users\XXX~1\AppData\Local\Temp\Alfresco\ImageMagickContentTransformerWorker_init_target_3213253993101127691.png]
   succeeded:  false
   exit code:  1
   out:       
   err:        Cannot run program "./ImageMagick/bin/convert": CreateProcess error=2, The system cannot find the file specified
08:36:22,331 ERROR [org.alfresco.repo.content.transform.RuntimeExecutableContentTransformerWorker] Failed to start a runtime executable content transformer:
Execution result:
   os:         Windows 7
   command:    [./bin/pdf2swf, -V]
   succeeded:  false
   exit code:  1
   out:       
   err:        Cannot run program "./bin/pdf2swf": CreateProcess error=2, The system cannot find the file specified
08:36:22,456 INFO  [org.alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]
08:36:22,956 ERROR [org.alfresco.util.exec.RuntimeExecBootstrapBean] Bootstrap command failed:
Execution result:
   os:         Windows 7
   command:    [soffice, -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager, -env:UserInstallation=file:///C:/Jboss/bin/alf_data/oouser, -nologo, -headless, -nofirststartwizard, -nocrashrep, -norestore]
   succeeded:  false
   exit code:  2
   out:       
   err:        Cannot run program "soffice": CreateProcess error=2, The system cannot find the file specified
08:36:25,143 WARN  [org.alfresco.util.OpenOfficeConnectionTester] An initial OpenOffice connection could not be established.
08:36:49,987 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent] Index recovery started: 365 transactions.
08:36:50,050 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    10 % complete.
08:36:50,050 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    20 % complete.
08:36:50,065 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    30 % complete.
08:36:50,065 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    40 % complete.
08:36:50,081 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    50 % complete.
08:36:50,097 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    60 % complete.
08:36:50,097 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    70 % complete.
08:36:50,112 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    80 % complete.
08:36:50,112 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    90 % complete.
08:36:50,128 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]    100 % complete.
08:37:51,081 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent] Index recovery completed.
08:37:51,753 INFO  [org.alfresco.repo.admin.ConfigurationChecker] The Alfresco root data directory ('dir.root') is: C:\Jboss\bin\alf_data
08:37:51,768 ERROR [org.alfresco.repo.admin.ConfigurationChecker] CONTENT INTEGRITY ERROR: System content not found in content store.
08:37:51,784 ERROR [org.alfresco.repo.admin.ConfigurationChecker] Ensure that the 'dir.root' property is pointing to the correct data location.
08:37:51,800 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: 02250001 Ensure that the 'dir.root' property is pointing to the correct data location.
   at org.alfresco.repo.admin.ConfigurationChecker.check(ConfigurationChecker.java:332)
   at org.alfresco.repo.admin.ConfigurationChecker.access$000(ConfigurationChecker.java:68)
   at org.alfresco.repo.admin.ConfigurationChecker$1.execute(ConfigurationChecker.java:180)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:321)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:247)
   at org.alfresco.repo.admin.ConfigurationChecker.onBootstrap(ConfigurationChecker.java:184)

14 REPLIES 14

joko71
Confirmed Champ
Confirmed Champ
What are you seeing in your log file?   What's the startup message.

After the patches run the "current repository descriptor" is updated.   It is the patch process that is the important thing.   If all patches run then that's O.K.

To answer your question, this is what I see:

INFO  [service.descriptor.DescriptorService] Alfresco started (Community): Current version 3.2.0 (2039) schema 2019 - Installed version 2.1.0 (482) schema 64

joko71
Confirmed Champ
Confirmed Champ
Now I know that "Alfresco started" string is ok. It's ambiguity confused me, like the others.  Smiley Happy

In the meantime we almost completed our migration from 2.1 to 3.2. There is one problem though in the form of (as I can see) well known "patch.authorityMigration" bug:

http://issues.alfresco.com/jira/browse/ALF-2029

2011-05-18 10:45:30,406 INFO  [STDOUT] 10:45:30,406 User:System INFO  [admin.patch.PatchExecuter]    Applying patch 'patch.authorityMigration' (Copies any old authorities from the user store to the spaces store.).
2011-05-18 10:45:43,324 INFO  [STDOUT] 10:45:43,324 User:System ERROR [admin.patch.PatchExecuter] 04180001 org.alfresco.service.cmr.repository.DuplicateChildNodeNameException: Duplicate child name not allowed: name_of_the_file.txt
   at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl$12.doInHibernate(HibernateNodeDaoServiceImpl.java:2000)
   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.newChildAssoc(HibernateNodeDaoServiceImpl.java:1961)
   at sun.reflect.GeneratedMethodAccessor474.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   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 $Proxy63.newChildAssoc(Unknown Source)


Now, what can be done? Questions:

1) Is there a patch for 3.2 Community version which will enable correct patching with patch.authorityMigration?
2) If not, is there a way to do this manually, either by hand, either with some program?
3) If not, how can I turn off this patch so that his long error stack strace is not visible in the server log?
4) Is this bug serious? Is Alfresco going to work if users are added manually without successful patch?

joko71
Confirmed Champ
Confirmed Champ
I've found a solution for the problem above. Two users/persons were referencing the same TXT file in their properties, hence the error. One of the references was removed with JavaScript script and the remaining patches were applied correctly.

Migration to 3.2 version is finished (on test server with real content & DB). We started with idea to migrate to 3.3, but bugs were too complicated. 3.2 was buggy too, but mildly in comparison. Al least now we can say we're using a "modern" version. Smiley Happy

sidi
Champ in-the-making
Champ in-the-making
Hi joko71 we are facing the same issue from 2.1.1 to 3.3 so your idea of stoping at 3.2 looks good enough, can you detail us all the steps solving bugs you had to do?. Did you upgrade to 3.2 or 3.2r2? we are going to try it directly to 3.2r2. Is it a good idea?.

Best regards waiting for your answer.

joko71
Confirmed Champ
Confirmed Champ
We went to 3.2, not 3.2r2. I haven't so far looked into 3.2r2, so I can't really tell what is the difference in comparison to 3.2.

Few advices:
- before DB upgrade, add avm_issuer_ids table to the schema
- during upgrade you might run into this issue: http://forums.alfresco.com/en/viewtopic.php?f=8&t=35238
- it seems that 3.2 has some difficulties regarding extension folder, so I had to make some modification on original files
- some patches can be sensitive, like patch.authorityMigration mentioned above