Unable to Create Pages or Spaces (The Popup Loads Forever) After Confluence Upgrade to 5.x or 6.x
Problem
When attempting to create a new page, the Create Page popup loads forever.
Diagnosis
The following appears in the atlassian-confluence.log
:
java.sql.SQLException: Invalid column name 'PLUGINKEY'.
OR
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'pagetempla0_.PLUGINKEY' in 'field list'
OR
java.lang.IllegalArgumentException: Invalid plugin key specified
OR
When trying to create a new space. The popup window appears and the spinning wheel keeps on rotating forever.
OR
This appears in the application log file:
2015-11-17 12:06:36,537 WARN [http-nio-8090-exec-6] [common.security.jersey.XsrfResourceFilter] passesAdditionalBrowserChecks Additional XSRF checks failed for request: http://confluence.mycompany.com/rest/analytics/1.0/publish/bulk , origin: null , referrer: https://confluence.mycompany.com/rest/analytics/1.0/publish/bulk null , credentials in request: true , allowed via CORS: false
Take note of the "referrer" part of the log above. If the referrer is not null and contains a link similar to the example above, there might be issues with SSL configuration. Please see After upgrading Confluence, you are unable to create new pages or spaces for a resolution.
If the similar error above log appears in the log file but with a "referrer: null" instead of a URL link, and there is the following HTML is in the header
<meta name="referrer" content="none">
Please see Creating a page in Firefox causes the create dialog to wait indefinitely for a resolution.
Cause
Cause 1:
The upgrade task to update the DB schema and migrate the page templates to XHTML was not performed during the upgrade.
Cause 2:
The customer is using a SQL Server database with a JDBC driver, instead of the bundled jTDS driver. (Follow Resolution 3 below)
If so, the following error shows up in the atlassian-confluence.log:
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near ','.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.<init>(SQLServerParameterMetaData.java:426)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.getParameterMetaData(SQLServerPreparedStatement.java:1532)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.getParameterMetaData(NewProxyPreparedStatement.java:573)
at net.java.ao.DatabaseProvider.putNull(DatabaseProvider.java:2053)
at net.java.ao.EntityProxy.save(EntityProxy.java:579)
at net.java.ao.EntityProxy.invoke(EntityProxy.java:122)
For other possible causes of problems with creating pages and spaces, please see:
Resolution
Resolution 1
Shutdown Confluence
Add the following to the Java Startup Properties (refer to this guide to see how to add this: Configuring System Properties)
-Datlassian.forceSchemaUpdate=true
- Startup Confluence (which will trigger the DB schema update task, adding the PLUGINKEY column)
- Navigate to http://YourConfluenceURL/admin/force-upgrade.action and run the pageTemplateWikiToXhtmlMigrationUpgradeTask
- Remove the forceSchemaUpdate startup property added in step 2 to prevent Confluence from triggering that task each time Confluence is started, which will slow down the Confluence startup
In step 3 Replace 'YourConfluenceURL' with the URL you would normally use to connect to Confluence.
Resolution 2
- Use the bundled SQL Server driver