Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-23193

Upgrade from CONF 3.5.2 to 3.5.13 or higher with Microsoft SQL Server, PostgreSQL, MySQL fails (ContentPermissionConstraintsUpgradeTask)

    XMLWordPrintable

Details

    Description

      When upgrading from 3.5.2 to 3.5.13 or higher with SQL Server

      Problem description

      Confluence throws an error like this:

      2011-09-08 07:53:52,733 ERROR [Thread-2] [atlassian.confluence.upgrade.UpgradeLauncherServletContextListener] contextInitialized Upgrade failed, application will not start: Upgrade task com.atlassian.confluence.upgrade.upgradetask.ContentPermissionConstraintsUpgradeTask@fa328aa failed during the SCHEMA_UPGRADE phase due to: StatementCallback; uncategorized SQLException for SQL [alter table CONTENT_PERM alter column CPS_ID numeric(19,0) not null]; SQL state [S1000]; error code [5074]; The object 'cp_unique_group' is dependent on column 'CPS_ID'.; nested exception is java.sql.SQLException: The object 'cp_unique_group' is dependent on column 'CPS_ID'.
      com.atlassian.confluence.upgrade.UpgradeException: Upgrade task com.atlassian.confluence.upgrade.upgradetask.ContentPermissionConstraintsUpgradeTask@fa328aa failed during the SCHEMA_UPGRADE phase due to: StatementCallback; uncategorized SQLException for SQL [alter table CONTENT_PERM alter column CPS_ID numeric(19,0) not null]; SQL state [S1000]; error code [5074]; The object 'cp_unique_group' is dependent on column 'CPS_ID'.; nested exception is java.sql.SQLException: The object 'cp_unique_group' is dependent on column 'CPS_ID'.
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.executeUpgradeStep(AbstractUpgradeManager.java:216)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.runSchemaUpgradeTasks(AbstractUpgradeManager.java:135)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:92)
      	at com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager.upgrade(DefaultUpgradeManager.java:140)
      	at com.atlassian.confluence.upgrade.UpgradeLauncherServletContextListener.contextInitialized(UpgradeLauncherServletContextListener.java:28)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
      	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
      	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:546)
      	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
      	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
      	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
      	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
      	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
      	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
      	at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
      	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:519)
      	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
      Caused by: org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [alter table CONTENT_PERM alter column CPS_ID numeric(19,0) not null]; SQL state [S1000]; error code [5074]; The object 'cp_unique_group' is dependent on column 'CPS_ID'.; nested exception is java.sql.SQLException: The object 'cp_unique_group' is dependent on column 'CPS_ID'.
      	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:120)
      	at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:276)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:354)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor.executeDdlStatements(DdlExecutor.java:50)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor$$FastClassByCGLIB$$cf93a722.invoke(<generated>)
      	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
      	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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor$$EnhancerByCGLIB$$d4db43d3.executeDdlStatements(<generated>)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor.alterTableGrouped(AlterTableExecutor.java:81)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor.alterTable(AlterTableExecutor.java:61)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor$$FastClassByCGLIB$$d4efbaa8.invoke(<generated>)
      	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
      	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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor$$EnhancerByCGLIB$$237a89d9.alterTable(<generated>)
      	at com.atlassian.confluence.upgrade.upgradetask.ContentPermissionConstraintsUpgradeTask.doUpgrade(ContentPermissionConstraintsUpgradeTask.java:163)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	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 $Proxy35.doUpgrade(Unknown Source)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager$UpgradeStep$3.execute(AbstractUpgradeManager.java:428)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.executeUpgradeStep(AbstractUpgradeManager.java:190)
      	... 28 more
      Caused by: java.sql.SQLException: The object 'cp_unique_group' is dependent on column 'CPS_ID'.
      	at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
      	at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
      	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
      	at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1157)
      	at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)
      	at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:369)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:343)
      	... 62 more
      caused by:
      java.sql.SQLException: The object 'cp_unique_user' is dependent on column 'CPS_ID'.
      	at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
      	at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
      	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
      	at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:636)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1157)
      	at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)
      	at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:369)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:343)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor.executeDdlStatements(DdlExecutor.java:50)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor$$FastClassByCGLIB$$cf93a722.invoke(<generated>)
      	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
      	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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor$$EnhancerByCGLIB$$d4db43d3.executeDdlStatements(<generated>)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor.alterTableGrouped(AlterTableExecutor.java:81)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor.alterTable(AlterTableExecutor.java:61)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor$$FastClassByCGLIB$$d4efbaa8.invoke(<generated>)
      	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
      	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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor$$EnhancerByCGLIB$$237a89d9.alterTable(<generated>)
      	at com.atlassian.confluence.upgrade.upgradetask.ContentPermissionConstraintsUpgradeTask.doUpgrade(ContentPermissionConstraintsUpgradeTask.java:163)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	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 $Proxy35.doUpgrade(Unknown Source)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager$UpgradeStep$3.execute(AbstractUpgradeManager.java:428)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.executeUpgradeStep(AbstractUpgradeManager.java:190)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.runSchemaUpgradeTasks(AbstractUpgradeManager.java:135)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:92)
      	at com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager.upgrade(DefaultUpgradeManager.java:140)
      	at com.atlassian.confluence.upgrade.UpgradeLauncherServletContextListener.contextInitialized(UpgradeLauncherServletContextListener.java:28)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
      	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
      	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:546)
      	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
      	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
      	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
      	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
      	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
      	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
      	at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
      	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:519)
      	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
      caused by:
      java.sql.SQLException: ALTER TABLE ALTER COLUMN CPS_ID failed because one or more objects access this column.
      	at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
      	at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
      	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
      	at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:636)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1157)
      	at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)
      	at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:369)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:343)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor.executeDdlStatements(DdlExecutor.java:50)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor$$FastClassByCGLIB$$cf93a722.invoke(<generated>)
      	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
      	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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
      	at com.atlassian.confluence.upgrade.ddl.DdlExecutor$$EnhancerByCGLIB$$d4db43d3.executeDdlStatements(<generated>)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor.alterTableGrouped(AlterTableExecutor.java:81)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor.alterTable(AlterTableExecutor.java:61)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor$$FastClassByCGLIB$$d4efbaa8.invoke(<generated>)
      	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:696)
      	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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:631)
      	at com.atlassian.confluence.upgrade.ddl.AlterTableExecutor$$EnhancerByCGLIB$$237a89d9.alterTable(<generated>)
      	at com.atlassian.confluence.upgrade.upgradetask.ContentPermissionConstraintsUpgradeTask.doUpgrade(ContentPermissionConstraintsUpgradeTask.java:163)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	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 $Proxy35.doUpgrade(Unknown Source)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager$UpgradeStep$3.execute(AbstractUpgradeManager.java:428)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.executeUpgradeStep(AbstractUpgradeManager.java:190)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.runSchemaUpgradeTasks(AbstractUpgradeManager.java:135)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:92)
      	at com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager.upgrade(DefaultUpgradeManager.java:140)
      	at com.atlassian.confluence.upgrade.UpgradeLauncherServletContextListener.contextInitialized(UpgradeLauncherServletContextListener.java:28)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
      	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
      	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:546)
      	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
      	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
      	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
      	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
      	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
      	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
      	at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
      	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:519)
      	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
      
      

      Cause

      The constraints should not exist for SQL Server, and were accidentally added in 3.5.2 - SQL Server requires other constraints that will be added by the upgrade.

      Workaround

      Recommended Workaround
      • Roll back the database and home ("data") directory to pre-upgraded state
      • Upgrade to Confluence 3.5.17
      Manual Workaround
      • Roll back the database and home ("data") directory to pre-upgraded state
      • Run these SQL statements:
          alter table CONTENT_PERM drop constraint cp_unique_user;
          alter table CONTENT_PERM drop constraint cp_unique_group;
          alter table CONTENT_PERM_SET drop constraint cps_unique_type;
      
      • Upgrade to 3.5.13 or higher as usual

      When upgrading to Confluence >3.5 with non-english locales (MySQL, Postgres, HSQLDB, Sql Server)

      Problem description

      [atlassian.confluence.upgrade.UpgradeLauncherServletContextListener] contextInitialized Upgrade failed, application will not start: Upgrade task com.atlassian.confluence.upgrade.upgradetask.ContentPermissionConstraintsUpgradeTask@6f4ea4a2 failed during the SCHEMA_UPGRADE phase due to: StatementCallback; bad SQL grammar [alter table CONTENT_PERM alter column CPS_ID set not null, add constraint cp_unique_user unique (CPS_ID, CP_TYPE, USERNAME), add constraint cp_unique_group unique (CPS_ID, CP_TYPE, GROUPNAME)]; nested exception is org.postgresql.util.PSQLException: FEHLER: Relation »cp_unique_user« existiert bereits
      

      Cause

      For MySQL, Postgres, Sql Server and HSQLDB the upgrade tasks will fail to detect that the constraints already exist on non-english locales, so the upgrade for these DB types will fail.

      Workaround

      Recommended Workaround
      • Roll back the database and home ("data") directory to pre-upgraded state
      • Upgrade to 4.2 or higher as usual
      Manual Workaround
      • Roll back the database and home ("data") directory to pre-upgraded state
      • Run these SQL statements:
          alter table CONTENT_PERM drop constraint cp_unique_user;
          alter table CONTENT_PERM drop constraint cp_unique_group;
          alter table CONTENT_PERM_SET drop constraint cps_unique_type;
      
      • Upgrade to 3.5.13 or higher as usual

      Attachments

        Issue Links

          Activity

            People

              jhoarau Julien Michel Hoarau (Inactive)
              vchoy Vincent Choy (Inactive)
              Votes:
              3 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: