cancel
Showing results for 
Search instead for 
Did you mean: 

Upgrade beyond 4.2c fails

michaelk
Champ in-the-making
Champ in-the-making
I have a 4.0c installation and I can upgrade to 4.2c but if I try 4.2e or 4.2f the upgrade fails with the error shown below.
I saw one post with this error quoted but no answer… 

Does anyone know how to get past this ?  The system is unusable without the patch (I can't log in)

Michael


09:20:40,631 INFO  [org.alfresco.repo.admin.patch.PatchExecuter]    Applying patch 'patch.sharedFolder' (Add Shared Folder).
09:20:40,755 ERROR [org.alfresco.repo.admin.patch.PatchExecuter] 02170002 org.alfresco.error.AlfrescoRuntimeException: 02170001 Bootstrap failed
   at org.alfresco.repo.importer.ImporterBootstrap.bootstrap(ImporterBootstrap.java:362)
   at org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch.applyInternal(GenericBootstrapPatch.java:123)
   at org.alfresco.repo.admin.patch.impl.SharedFolderPatch.applyInternal(SharedFolderPatch.java:179)
   at org.alfresco.repo.admin.patch.AbstractPatch.applyImpl(AbstractPatch.java:442)
   at org.alfresco.repo.admin.patch.AbstractPatch.access$000(AbstractPatch.java:58)
   at org.alfresco.repo.admin.patch.AbstractPatch$3$1.execute(AbstractPatch.java:602)
   at org.alfresco.repo.admin.patch.AbstractPatch$3$1.execute(AbstractPatch.java:599)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452)
   at org.alfresco.repo.admin.patch.AbstractPatch$3.doWork(AbstractPatch.java:605)
   at org.alfresco.repo.admin.patch.AbstractPatch$3.doWork(AbstractPatch.java:592)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)
   at org.alfresco.repo.admin.patch.AbstractPatch.apply(AbstractPatch.java:614)
   at org.alfresco.repo.admin.patch.AbstractPatch.apply(AbstractPatch.java:561)
   at org.alfresco.repo.admin.patch.PatchServiceImpl$PatchWork.applyPatch(PatchServiceImpl.java:491)
   at org.alfresco.repo.admin.patch.PatchServiceImpl$PatchWork.execute(PatchServiceImpl.java:403)
   at org.alfresco.repo.admin.patch.PatchServiceImpl.applyPatch(PatchServiceImpl.java:258)
   at org.alfresco.repo.admin.patch.PatchServiceImpl.applyPatchAndDependencies(PatchServiceImpl.java:235)
   at org.alfresco.repo.admin.patch.PatchServiceImpl.applyOutstandingPatches(PatchServiceImpl.java:171)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at com.sun.proxy.$Proxy104.applyOutstandingPatches(Unknown Source)
   at org.alfresco.repo.admin.patch.PatchExecuter.applyOutstandingPatches(PatchExecuter.java:76)
   at org.alfresco.repo.admin.patch.PatchExecuter$1.doWork(PatchExecuter.java:124)
   at org.alfresco.repo.admin.patch.PatchExecuter$1.doWork(PatchExecuter.java:120)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)
   at org.alfresco.repo.admin.patch.PatchExecuter.onBootstrap(PatchExecuter.java:128)
   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)
12 REPLIES 12

michaelk
Champ in-the-making
Champ in-the-making
I believe this failure to update is related to googledocs. 
https://issues.alfresco.com/jira/browse/ALF-20032?jql=text%20~%20%22patch.sharedFolder%22
https://issues.alfresco.com/jira/browse/ALF-20086?jql=text%20~%20%22patch.sharedFolder%22

I deleted all the documents with google docs (searching for ASPECT:"gd:googleResource") I still have failures like …

Caused by: org.alfresco.service.cmr.view.ImporterException: Failed to import package at line 25; column 16 due to error: 02170000 Failed import for context 'ParentContext[parent=workspace://SpacesStore/5941a5c0-dffa-4195-8730-bb0bbdf6b20c,assocType=null]'.  Unknown aspect: {http://www.alfresco.org/model/googledocs/1.0}googleResource

If I use the 'node browser' I see:
This node is (Primary Path: /app:company_home) and the strange thing is that it has a property
gd:url  d:text  https://docs.google.com/#folders/folder.0.0B8uELARK5XtNMmE4MTgzZGYtMjZkNi00OTZjLTlmMzQtNjk1ODIxZjM5M...   false

It has the googldoc aspect (googleResource):

cm:auditable
app:uifacets
gd:googleResource
sys:referenceable
cm:titled
sys:localized

How can I remove this google aspect & property from the node so I can do the upgrade ?   Do I need to remove it directly from the postgresql data base ?  If so what tables do I need to alter ?

I'm having exactly the same challenge trying to upgrade from 4.0.c to 4.2.e

Since this looks like a Google docs integration flaw, I'll try an install without it and see what happens.

Has anyone else seen this problem?



'ParentContext[parent=workspace://SpacesStore/1331ece7-c84e-4cba-84b7-5a340353ea7b,assocType=null]'.  Unknown aspect: {http://www.alfresco.org/model/googledocs/1.0}googleResource

        at org.alfresco.repo.importer.view.ViewParser.parse(ViewParser.java:194)

        at org.alfresco.repo.importer.ImporterComponent.parserImport(ImporterComponent.java:423)

        at org.alfresco.repo.importer.ImporterComponent.importView(ImporterComponent.java:261)

        at org.alfresco.repo.importer.ImporterBootstrap.doImport(ImporterBootstrap.java:476)

        at org.alfresco.repo.importer.ImporterBootstrap.access$000(ImporterBootstrap.java:71)

        at org.alfresco.repo.importer.ImporterBootstrap$1$1.execute(ImporterBootstrap.java:351)

        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452)

        at org.alfresco.repo.importer.ImporterBootstrap$1.doWork(ImporterBootstrap.java:355)

        at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)

        at org.alfresco.repo.importer.ImporterBootstrap.bootstrap(ImporterBootstrap.java:358)

        … 57 more

Caused by: org.alfresco.service.cmr.dictionary.InvalidClassException: 02090000 Failed import for context 'ParentContext[parent=workspace://SpacesStore/1331ece7-c84e-4cba-84b7-5a340353ea7b,assocType=null]'.   Unknown aspect: {http://www.alfresco.org/model/googledocs/1.0}googleResource

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter.getAssocType(ImporterComponent.java:1017)

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter.access$2300(ImporterComponent.java:472)

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter$CreateNewNodeImporterStrategy.importNode(ImporterComponent.java:1400)

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter.importNode(ImporterComponent.java:617)

        at org.alfresco.repo.importer.view.ViewParser.importNode(ViewParser.java:921)

        at org.alfresco.repo.importer.view.ViewParser.processEndType(ViewParser.java:885)

        at org.alfresco.repo.importer.view.ViewParser.processEndElement(ViewParser.java:865)

        at org.alfresco.repo.importer.view.ViewParser.parse(ViewParser.java:182)

        … 66 more

I'm having exactly the same challenge trying to upgrade from 4.0.c to 4.2.e

Since this looks like a Google docs integration flaw, I'll try an install without it and see what happens.

Has anyone else seen this problem?



'ParentContext[parent=workspace://SpacesStore/1331ece7-c84e-4cba-84b7-5a340353ea7b,assocType=null]'.  Unknown aspect: {http://www.alfresco.org/model/googledocs/1.0}googleResource

        at org.alfresco.repo.importer.view.ViewParser.parse(ViewParser.java:194)

        at org.alfresco.repo.importer.ImporterComponent.parserImport(ImporterComponent.java:423)

        at org.alfresco.repo.importer.ImporterComponent.importView(ImporterComponent.java:261)

        at org.alfresco.repo.importer.ImporterBootstrap.doImport(ImporterBootstrap.java:476)

        at org.alfresco.repo.importer.ImporterBootstrap.access$000(ImporterBootstrap.java:71)

        at org.alfresco.repo.importer.ImporterBootstrap$1$1.execute(ImporterBootstrap.java:351)

        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452)

        at org.alfresco.repo.importer.ImporterBootstrap$1.doWork(ImporterBootstrap.java:355)

        at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)

        at org.alfresco.repo.importer.ImporterBootstrap.bootstrap(ImporterBootstrap.java:358)

        … 57 more

Caused by: org.alfresco.service.cmr.dictionary.InvalidClassException: 02090000 Failed import for context 'ParentContext[parent=workspace://SpacesStore/1331ece7-c84e-4cba-84b7-5a340353ea7b,assocType=null]'.   Unknown aspect: {http://www.alfresco.org/model/googledocs/1.0}googleResource

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter.getAssocType(ImporterComponent.java:1017)

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter.access$2300(ImporterComponent.java:472)

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter$CreateNewNodeImporterStrategy.importNode(ImporterComponent.java:1400)

        at org.alfresco.repo.importer.ImporterComponent$NodeImporter.importNode(ImporterComponent.java:617)

        at org.alfresco.repo.importer.view.ViewParser.importNode(ViewParser.java:921)

        at org.alfresco.repo.importer.view.ViewParser.processEndType(ViewParser.java:885)

        at org.alfresco.repo.importer.view.ViewParser.processEndElement(ViewParser.java:865)

        at org.alfresco.repo.importer.view.ViewParser.parse(ViewParser.java:182)

        … 66 more

michaelk
Champ in-the-making
Champ in-the-making
This cannot be fixed by disabling Googledocs integration in the new installation.

The upgrade fails because of the presence of googledocs V1 aspects in the data we are trying to migrate.
I'd happily sanitize the data of this if I knew how, but everything I tried did not work.

Does anyone know how to remove googledocs aspects from the postgresql database tables so that the upgrade succeeds ?
I can clean up the few documents effected later.

This sort of thing happens frequently in upgrades with Alfresco and is why I cannot recommend it for critical systems. I love the functionality and have hung on in hope that the process would stabilize but it keeps happening 8-(   

ttownsend
Champ on-the-rise
Champ on-the-rise
You're absolutely correct; my oversight - installing without Google docs module will NOT correct this.

Have a look at this JIRA entry:  https://issues.alfresco.com/jira/browse/ALF-20032?jql=text%20~%20%22patch.sharedFolder%22
It looks like there is at least one workaround that might be usable.

I have great respect for the Alfresco engineers that regularly contribute here, so I invite any/all of the them to shed some light on this Google Docs break.

I just can't imagine that breaking Google Docs backward compatibility is a bug - it's too big a mistake if it is.

I'll fix my install somehow, and I think it's prudent to assess other CMS solutions.  I'd rather not, though - Alfresco has a killer feature list and I know it far better now.


EDIT:  I've tried the fix listed on that JIRA page, and confirmed that this workaround does not work.  Specifically this is what I attempted:
<blockquote>
For administrators to re-enable the Google Docs v1 integration the following changes are required. However we do not recommend this and this should not be documented.
Re-add the Google Docs v1 subsystem to Alfresco's Spring context, e.g. by adding a file alfresco/extension/enable-googledocs-v1-context.xml in the classpath, with the following contents.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
    <bean id="googledocs" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
        <property name="autoStart">
            <value>false</value>
        </property>
    </bean>
</beans>

In alfresco-global.properties set the property googledocs.googleeditable.enabled=true
</blockquote>

I also noted the following in my stack trace:

Cleaning up unclosed ZipFile for archive /opt/alfresco-4.2.f/tomcat/temp/Alfresco/alf3718391610975942054.acp
2014-03-30 16:10:25,078  ERROR [extensions.webscripts.AbstractRuntime] [http-bio-8080-exec-17] Exception from executeScript - redirecting to status template error: Failed to import package at line 3416; column 26 due to error: Namespace URI http://www.alfresco.org/model/googledocs/1.0 has not been defined in the Repository dictionary
org.alfresco.service.cmr.view.ImporterException: Failed to import package at line 3416; column 26 due to error: Namespace URI http://www.alfresco.org/model/googledocs/1.0 has not been defined in the Repository dictionary


…       
Caused by: org.alfresco.service.cmr.view.ImporterException: Namespace URI http://www.alfresco.org/model/googledocs/1.0 has not been defined in the Reposi
        at org.alfresco.repo.importer.view.ViewParser.getName(ViewParser.java:991)
        at org.alfresco.repo.importer.view.ViewParser.processStartElement(ViewParser.java:219)
        at org.alfresco.repo.importer.view.ViewParser.parse(ViewParser.java:176)
        … 89 more


I notice that the alfreswco.org namespace resolves now to alfresco.com - does this break my attempt to re-enable googledocs v1?
That namespace URI is also not defined in the Repository dictionary.  I'm not a whiz at admin'ing, but how does one define such a URI in the Repository Dictionary?

Also, this issue is known (https://issues.alfresco.com/jira/browse/ALF-20086), so I have some questions:
1.  How does one search a repository for documents checked out to GoogleDocs V1 and check them all back in?
2.  Is it possible to re-enable the googledocs v1 aspect by loading it before patches are applied?
3.  Is it possible to remove the googledocs v1 aspect from ALL/ANY document(s) in a repository?  Would this avert the problem?

Any comments, observations, and suggestions would be very helpful at this point.  This is a full-stop for upgrades, and we don't have any fixes yet.

We're in the same position, too – upgrading from 4.0.d to 4.2.f. If Alfresco would release the DB schema documentation, I'd be happy to take a look at our data to identify the rogue records and prune them, but I'm unable to do this at present.

I've attached a copy of the trace back we get on startup (disregard the SOLR spam for now).

Hey Luke,

Yep, that trace looks pretty familiar.  I posted about this in another thread and Jeff Potts suggested a server-side javascript that could hunt through the repository and remove that/those aspects when found.  Looks like this:

var results = search.luceneSearch("ASPECT:\"ASPECT NAME HERE\"");

for each (var doc in results) {
   doc.removeAspect("ASPECT NAME HERE");
}


I don't know exactly how to do what's required to make this go.  Would you know?

Cheers,
Trevor

Well, sadly, I can't work around the backwards break between 4.2.e/f and earlier on googledocs aspect v1.0.  Jeff Potts was kind enough to post some javascript code for deleting the googledocs aspect from a repository, but I haven't been able to get it going yet.  Still a work in progress.

So I've decided that, in order to use 4.2.f, I'm going to simply migrate (export/import) my information from 4.0.c to a fresh 4.2.f instance using Will Abson's Python scripts (https://github.com/wabson/share-import-export).

So here's what I'm doing to work around this full-stop issue:
1.  Export (from 4.0.c) all site information EXCEPT documentLibrary (because import fails when 4.2.f encounters googledocs v1.0 aspect);
2.  Import (into 4.2.f) all site information captured above; and
3.  FTP document library per site from 4.0.c into 4.2.f

So far, so good, but I know that I'm going to lose document attributes, comments, versioning, etc.  For a reference library site that I have this is okay, but for other content I'm still stuck at 4.0.x for that use case.

I hope someone comes up with a fix for the googledocs v1.0 backwards break, but I have to move on and actually use my Alfresco instances.  I'll keep my eyes open for fixes in the meantime.

Cheers,
Trevor