Upgrade Fails Due to Modified Repository Key in atlassian-user.xml
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
Confluence upgrade fails if the repository key in atlassian-user.xml
is of non-default value. For example, this has non-default key:
1
2
3
<ldap key="AD" name="LDAP Repository@hecate.atlassian.com" cache="true">
...
</ldap>
A default key would have:
1
2
3
<ldap key="ldapRepository" name="LDAP Repository@hecate.atlassian.com" cache="true">
...
</ldap>
Upgrade fails with the following stack trace in atlassian-confluence.log
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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.
Was this helpful?