Upgrade Fails Due to Modified Repository Key in atlassian-user.xml

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

Confluence upgrade fails if the repository key in atlassian-user.xml is of non-default value. For example, this has non-default key:

<ldap key="AD" name="LDAP Repository@hecate.atlassian.com" cache="true">
...
</ldap>

A default key would have:

<ldap key="ldapRepository" name="LDAP Repository@hecate.atlassian.com" cache="true">
...
</ldap>

Upgrade fails with the following stack trace in atlassian-confluence.log:

2011-06-17 23:19:32,324 ERROR [main] [atlassian.confluence.upgrade.UpgradeLauncherServletContextListener] contextInitialized Upgrade failed, application will not start: com.atlassian.confluence.user.migration.AtlassianUserMigrationException: no matching migrator found for [ com.atlassian.user.configuration.DefaultRepositoryConfiguration@14baaea8 ]
com.atlassian.confluence.upgrade.UpgradeException: com.atlassian.confluence.user.migration.AtlassianUserMigrationException: no matching migrator found for [ com.atlassian.user.configuration.DefaultRepositoryConfiguration@14baaea8 ]
	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:81)
	at com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager.upgrade(DefaultUpgradeManager.java:139)
	at com.atlassian.confluence.upgrade.UpgradeLauncherServletContextListener.contextInitialized(UpgradeLauncherServletContextListener.java:28)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
	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:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: com.atlassian.confluence.user.migration.AtlassianUserMigrationException: no matching migrator found for [ com.atlassian.user.configuration.DefaultRepositoryConfiguration@14baaea8 ]
	at com.atlassian.confluence.user.migration.AtlassianUserMigratorFactory.getMigrator(AtlassianUserMigratorFactory.java:31)
	at com.atlassian.confluence.upgrade.upgradetask.AtlassianUserToEmbeddedCrowdConfigurationUpgradeTask.validate(AtlassianUserToEmbeddedCrowdConfigurationUpgradeTask.java:52)
	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.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.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy33.validate(Unknown Source)
	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.validate(AbstractUpgradeManager.java:145)
	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:68)
	... 17 more

Cause

Confluence uses the repository key in Confluence cache configuration file (ehcache.xml for standalone edition, confluence-coherence-cache-config-clustered.xml or confluence-coherence-cache-config.xml for clustered edition) to identify the repository type. Confluence uses this key to choose the correct user migration path during upgrade.

Note: From Confluence 5.6 the cache configuration files are confluence-home>/shared-home/config/cache-settings-overrides.properties  for Confluence Server (standalone) or <confluence-shared-home>/config/cache-settings-overrides.properties for Confluence Data Center (clustered).

Resolution

Revert your repository key to default value.

Alternatively, ensure that the customised Confluence cache configuration file exists in the target <confluence-home>/config/ directory.

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.