Confluence upgrade failing from 5.4.1 to 5.5.X
Asked by Ram Chavan:

Hi All,

I am upgrading the Confluence from 5.4.1 to 5.5.4.

I have tried the upgrade from 5.4.1 to 5.5.3 as well.

This upgrade fails and generates the SQL exception in the log file.

Below are the log entries from the install4jerror file:

Exception:

com.install4j.api.beans.UndefinedVariableException: installer:installationID

at com.install4j.runtime.installer.InstallerVariables$InstallerReplacementCallback.handleError(Unknown Source)

at com.install4j.runtime.installer.InstallerVariables$InstallerReplacementCallback.getReplacement(Unknown Source)

at com.install4j.runtime.util.StringUtil.replaceVariable(Unknown Source)

at com.install4j.runtime.installer.InstallerVariables.replaceVariables(Unknown Source)

at com.install4j.runtime.installer.InstallerVariables.replaceVariables(Unknown Source)

at com.install4j.runtime.installer.InstallerVariables.replaceVariables(Unknown Source)

at com.install4j.api.beans.AbstractBean.replaceVariables(Unknown Source)

at com.install4j.runtime.beans.actions.registry.SetRegistryValueAction.getKeyName(Unknown Source)

at com.install4j.runtime.beans.actions.registry.SetRegistryValueAction$PerformedAction.\<init\>(Unknown Source)

at com.install4j.runtime.beans.actions.registry.SetRegistryValueAction.execute(Unknown Source)

at com.install4j.runtime.beans.actions.SystemInstallOrUninstallAction.install(Unknown Source)

at com.install4j.runtime.installer.InstallerContextImpl.performActionInt(Unknown Source)

at com.install4j.runtime.installer.ContextImpl.performAction(Unknown Source)

at com.install4j.runtime.installer.controller.Controller.executeActions(Unknown Source)

at com.install4j.runtime.installer.controller.Controller.handleCommand(Unknown Source)

at com.install4j.runtime.installer.controller.Controller.start(Unknown Source)

at com.install4j.runtime.installer.Installer.main(Unknown Source)

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 com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

at com.exe4j.runtime.WinLauncher.main(Unknown Source)

at com.install4j.runtime.launcher.WinLauncher.main(Unknown Source)

And these are the log entries in the atlassian-log file:

2014-08-26 07:45:33,810 INFO \[localhost-startStop-1\] \[confluence.upgrade.impl.DefaultUpgradeManager\] beforeUpgrade Finished generating pre-upgrade recovery file.

2014-08-26 07:45:35,118 ERROR \[localhost-startStop-1\] \[hibernate.tool.hbm2ddl.SchemaUpdate\] execute Unsuccessful: alter table users add id numeric(19,0)

2014-08-26 07:45:35,119 ERROR \[localhost-startStop-1\] \[hibernate.tool.hbm2ddl.SchemaUpdate\] execute Column names in each table must be unique. Column name 'id' in table 'users' is specified more than once.

2014-08-26 07:45:35,121 ERROR \[localhost-startStop-1\] \[hibernate.tool.hbm2ddl.SchemaUpdate\] execute could not complete schema update

java.sql.SQLException: Column names in each table must be unique. Column name 'id' in table 'users' is specified more than once.

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.executeUpdate(JtdsStatement.java:1163)

at net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:1116)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeUpdate(NewProxyStatement.java:64)

at net.sf.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:167)

at bucket.core.persistence.hibernate.schema.SchemaHelper.updateSchemaIfNeeded(SchemaHelper.java:161)

at bucket.core.persistence.hibernate.schema.SchemaHelper.updateSchemaIfNeeded(SchemaHelper.java:134)

at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:168)

at com.atlassian.confluence.upgrade.UpgradeLauncherServletContextListener.contextInitialized(UpgradeLauncherServletContextListener.java:51)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2014-08-26 07:45:35,150 ERROR \[localhost-startStop-1\] \[atlassian.confluence.upgrade.UpgradeLauncherServletContextListener\] contextInitialized Upgrade failed, application will not start: com.atlassian.config.ConfigurationException: Cannot update schema

com.atlassian.confluence.upgrade.UpgradeException: com.atlassian.config.ConfigurationException: Cannot update schema

at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:188)

Any help to resolve this issue will be appreciated.


Answers:
author: Deividi Luvison
body: Strange, please rollback your Confluence to version 5.4.1, then install a new confluence on version 5.4.1 and make sure to use the same database as your production confluence (if production uses oracle create a new schema for the vanila installation in oracle, for instance).

After that is done compare the users table from the production installation and the vanila installation, add any missing constraint's, PK's or FK's.

Try the upgrade again.

If both tables are identical let me know.  
Thanks and Regards,  
David\|Confluence Support Engineer

comments: author: Ram Chavan
body: Hi,

Thanks for the responce.

I am using the MS SQL 2008 Standard edition.

I have compared the table "users" there is only one column name "id"

Thanks,

Ram


author: Deividi Luvison
body: Could you please compare constraints, keys and indexes as well :)?

Also let me know the size of your instance (around how many users your confluence have ).

Thanks and Regards,  
David\|Confluence Support Engineer


author: F
body: Hi Ram,I am also facing the same issue, please share the solution for this.ThanksFahad


author: Elvis Kvalbergs
body: What is the status of this one? Did you manager to get it work? Receiving the same error when upgrading to 5.6.5


author: Branno
body: Do you use Oracle Database?

Cheers,

Stephen Brannen \| Confluence Support


Tags: confluence-administration

upgrade