cancel
Showing results for 
Search instead for 
Did you mean: 

Upgrade to 3.2 - Error: indexRecoveryBootstrap

dc41
Champ in-the-making
Champ in-the-making
Sorry for the newbie nature of this question, but I just wanted to confirm that I understand the terminology in the "General Upgrade Process" guide.

I backed up the 3.0 Community install of Alfresco. Then I renamed /opt/Alfresco to /opt/alf_3-1. I installed 3.2 thus creating a new /opt/Alfresco dir. After making a few minor config changes, I started the new install, and all seems to be working fine.

So the next step is to restore the repository.

Steps 5 and 6 say:
#  Validate the new installation to check that it is working correctly. For example:

   1. Configure the new installation with a new repository (not the existing one).
   2. Start Alfresco and validate that the system works correctly.
   3. Shutdown Alfresco and (optionally) wipe the new repository.

# Restore the backup taken in step 2 into the new repository (not the existing one), as described at Restore procedure.

"Repository" is my alf_data directory, correct? So, once I have confirmed the 3.2 install is operating, I just have to delete /opt/Alfresco/alf_data and replace it with the backup copy of */alf_data from the previous installation.

Is all of the above correct, or am I not comprehending the correct procedure?

Thanks!
6 REPLIES 6

mrogers
Star Contributor
Star Contributor
Your "Repository" is both the contents of the alf_data and its corresponding database schema. 

You need to restore your filesystem and the database over the new installation.   Alfresco will then upgrade your schema for you.

dc41
Champ in-the-making
Champ in-the-making
Great! Thanks. I would have overlooked the db.

During 3.2 install I created a new db named alfresco32 and didn't touch the orignal alfresco db. So, I'll copy the old alf_data directory into the new install and point the new install to the old db in alfresco-global.properties.

Thanks again.

dc41
Champ in-the-making
Champ in-the-making
I completed the steps I listed in the post above and set index recovery mode to full . But now I'm running into a problem with the indexRecoveryBootstrap. Here's the log file.  Any suggestions?

13:10:07,529 INFO  [org.alfresco.web.site.FrameworkHelper] Successfully Initialized Web Framework
13:10:09,756 INFO  [org.alfresco.web.site.FrameworkHelper] Successfully Initialized Web Framework
13:10:17,816 INFO  [org.alfresco.config.JBossEnabledWebApplicationContext] Closing org.alfresco.config.JBossEnabledWebApplicationContext@f401c44: display name [Root WebApplicationContext]; startup date [Tue Jul 07 13:07:02 MDT 2009]; root of context hierarchy
13:10:42,241 INFO  [org.alfresco.config.JndiPropertiesFactoryBean] Loading properties file from class path resource [alfresco/repository.properties]
13:10:42,243 INFO  [org.alfresco.config.JndiPropertiesFactoryBean] Loading properties file from class path resource [alfresco/domain/transaction.properties]
13:10:42,243 INFO  [org.alfresco.config.JndiPropertiesFactoryBean] Loading properties file from URL [file:/opt/Alfresco/tomcat/shared/classes/alfresco-global.properties]
13:10:42,372 INFO  [org.alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]
13:10:53,142 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'indexRecoveryBootstrap' defined in class path resource [alfresco/bootstrap-context.xml]: Cannot resolve reference to bean 'indexRecoveryComponent' while setting bean property 'indexRecoveryComponent'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'indexRecoveryComponent' defined in class path resource [alfresco/index-recovery-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'recoveryMode' threw exception; nested exception is java.lang.IllegalArgumentException: No enum const class org.alfresco.repo.node.index.FullIndexRecoveryComponent$RecoveryMode.Full
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'indexRecoveryComponent' defined in class path resource [alfresco/index-recovery-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'recoveryMode' threw exception; nested exception is java.lang.IllegalArgumentException: No enum const class org.alfresco.repo.node.index.FullIndexRecoveryComponent$RecoveryMode.Full
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.MethodInvocationException: Property 'recoveryMode' threw exception; nested exception is java.lang.IllegalArgumentException: No enum const class org.alfresco.repo.node.index.FullIndexRecoveryComponent$RecoveryMode.Full
Caused by: java.lang.IllegalArgumentException: No enum const class org.alfresco.repo.node.index.FullIndexRecoveryComponent$RecoveryMode.Full
   at java.lang.Enum.valueOf(Enum.java:196)
   at org.alfresco.repo.node.index.FullIndexRecoveryComponent$RecoveryMode.valueOf(FullIndexRecoveryComponent.java:69)
   at org.alfresco.repo.node.index.FullIndexRecoveryComponent.setRecoveryMode(FullIndexRecoveryComponent.java:121)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:821)
   at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
   at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
   at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1127)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:248)
   at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:820)
   at org.springframework.context.support.AbstractApplicationContext.registerListeners(AbstractApplicationContext.java:597)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:349)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
   at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:69)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
   at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
   at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
   at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
   at org.apache.catalina.core.StandardService.start(StandardService.java:516)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
13:10:55,239 INFO  [org.alfresco.config.JBossEnabledWebApplicationContext] Refreshing org.alfresco.config.JBossEnabledWebApplicationContext@5c8ab562: display name [Root WebApplicationContext]; startup date [Tue Jul 07 13:10:55 MDT 2009]; root of context hierarchy
13:10:55,628 INFO  [org.alfresco.config.JBossEnabledWebApplicationContext] Bean factory for application context [org.alfresco.config.JBossEnabledWebApplicationContext@5c8ab562]: org.springframework.beans.factory.support.DefaultListableBeanFactory@3b5b0734
13:10:56,730 INFO  [org.alfresco.web.scripts.DeclarativeRegistry] Registered 24 Web Scripts (+0 failed), 26 URLs
13:10:56,747 INFO  [org.alfresco.web.scripts.AbstractRuntimeContainer] Initialised Presentation Web Script Container (in 181.70084ms)
13:10:56,844 INFO  [org.alfresco.web.scripts.DeclarativeRegistry] Registered 42 Web Scripts (+0 failed), 44 URLs
13:10:56,858 INFO  [org.alfresco.web.scripts.AbstractRuntimeContainer] Initialised WebFramework Web Script Container (in 108.14831ms)
13:10:56,897 INFO  [org.alfresco.web.site.FrameworkHelper] Successfully Initialized Web Framework
13:13:59,411 INFO  [org.alfresco.web.site.FrameworkHelper] Successfully Initialized Web Framework
13:14:02,072 INFO  [org.alfresco.web.site.FrameworkHelper] Successfully Initialized Web Framework

mrogers
Star Contributor
Star Contributor
It doesn't like your indexRecoveryMode setting.

I suspect it may be case sensitive and should be FULL, Have you specified 'Full' by any chance?

If you can't figure out the problem then please post your configuration.

dc41
Champ in-the-making
Champ in-the-making
Looks like "Full" vs. "FULL" was the problem. The recovery is now 20% complete. It should take another few hours to finish. I'll post any other info if things don't go as planned.

Thanks again!

trialot
Champ in-the-making
Champ in-the-making
It doesn't like your indexRecoveryMode setting.

I suspect it may be case sensitive and should be FULL, Have you specified 'Full' by any chance?

If you can't figure out the problem then please post your configuration.

I noticed a lot of people have the same issue. In my opinion, the case sensitivity should be discarded.

Can the Alfresco Engineers not make this setting case insensitive in the next release? Would be convenient.