cancel
Showing results for 
Search instead for 
Did you mean: 

Recommended upgrade path - Oracle Alf. 2.1 to MySQL Alf. 3.x

mjdinsmore
Champ in-the-making
Champ in-the-making
Hi everyone,
   I've been using the Oracle implementation of Alfresco for a few years.  I need to upgrade it so I can fix a few problems (like being able to regenerate the indexes) which have been addressed in a later version of Alfresco.

What is the recommended migration path for this?  I can tell you what I did, and where I'm getting stuck if you have any insight to that –

1. We started up an empty MySQL Alfresco 2.1 version, allowing it to create the MySQL database.  Then we shut it down.
2. Then we clean out all the tables that have data in it that causes migration from Oracle to MySQL (i.e. alf_permission) since starting up the MySQL Alfresco inserts some data into those tables.
3. I start up the 2.1 MySQL Alfresco and let it run for a while – and this is where I have a problem…

The log4j file says:
INFO  [org.alfresco.repo.admin.patch.PatchExecuter] Checking for patches to apply …

and it seems to stay there for over 12 hours until:


11:51:41,328 INFO  [org.alfresco.repo.admin.patch.PatchExecuter] Checking for patches to apply …
21:53:20,726 ERROR [org.alfresco.repo.admin.patch.PatchServiceImpl] org.alfresco.error.AlfrescoRuntimeException: Bootstrap failed


Caused by: org.alfresco.service.cmr.view.ImporterException: Failed to import package at line 14; column 20 due to error: Duplicate child name not allowed: Web Scripts
        at org.alfresco.repo.importer.view.ViewParser.parse(ViewParser.java:190)
        at org.alfresco.repo.importer.ImporterComponent.parserImport(ImporterComponent.java:360)
        at org.alfresco.repo.importer.ImporterComponent.importView(ImporterComponent.java:224)
        at org.alfresco.repo.importer.ImporterBootstrap.bootstrap(ImporterBootstrap.java:426)
        … 170 more
Caused by: org.alfresco.service.cmr.repository.DuplicateChildNodeNameException: Duplicate child name not allowed: Web Scripts
        at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.setChildNameUnique(HibernateNodeDaoServiceImpl.java:698)
        at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)


I couldn't find any posts about this specific error.  Is it because my approach to upgrading it is not proper or correct?  I'd love to hear from someone else who has gone through the same process and figured out how to do it successfully!

Thank you,
Michael
10 REPLIES 10

mjdinsmore
Champ in-the-making
Champ in-the-making
Why would the patch executioner try to apply the same patch twice?  I have deleted ALL the rows in the table so it's empty to ensure it shouldn't confuse itself.


mysql> show create table alf_applied_patch;
+——————-+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-+
| Table             | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
+——————-+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-+
| alf_applied_patch | CREATE TABLE `alf_applied_patch` (
  `id` varchar(64) NOT NULL,
  `description` text,
  `fixes_from_schema` int(11) default NULL,
  `fixes_to_schema` int(11) default NULL,
  `applied_to_schema` int(11) default NULL,
  `target_schema` int(11) default NULL,
  `applied_on_date` datetime default NULL,
  `applied_to_server` varchar(64) default NULL,
  `was_executed` bit(1) default NULL,
  `succeeded` bit(1) default NULL,
  `report` text,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+——————-+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-+
1 row in set (0.01 sec)

mysql> select * from alf_applied_patch;
Empty set (0.03 sec)

After the startup runs for 7 hours, there still isn't any rows in the database table alf_applied_patch, and I get that dratted error about a duplicate name error on Web Scripts (see previous posting for details from Alfresco log).

Is there any way to 'trick' the patch system so I can bypass it?