Confluence throws 'Table <table-name> doesn't exist' error after syncing with external directory
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
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
Problem
After upgrading Confluence and completing a sync with an external directory, Confluence throws an error.
The following appears in the atlassian-confluence.log
2016-06-20 23:24:42,139 INFO [Caesium-1-3] [atlassian.crowd.directory.DbCachingRemoteDirectory] synchroniseCache Attempting INCREMENTAL synchronisation for directory [ 12877825 ]
2016-06-20 23:24:42,360 INFO [Caesium-1-3] [atlassian.crowd.directory.DbCachingRemoteDirectory] synchroniseCache INCREMENTAL synchronisation complete for directory [ 12877825 ] in [ 241ms ]
2016-06-21 00:00:00,114 ERROR [scheduler_Worker-3] [plugins.synchrony.job.ContentReconciliationJob] lambda$getDraftContentRequiringReconciliation$3 Error querying for content marked as requiring content reconciliation
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'confluence.contentproperties' doesn't exist
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
Log snippet from the upgrade (test upgrade from Confluence v5.9.1 to v5.10.0 on Linux) shows that the CONTENTPROPERTIES
table does exist:
2016-06-18 15:47:47,178 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] end TABLE_DATA: [CONTENT]
2016-06-18 15:47:47,179 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] begin TABLE_DATA: [CONTENTPROPERTIES]
2016-06-18 15:47:47,341 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] end TABLE_DATA: [CONTENTPROPERTIES]
2016-06-18 15:47:47,343 INFO [localhost-startStop-1] [confluence.upgrade.recovery.ConfluenceProgressMonitor] begin TABLE_DATA: [CONTENT_LABEL]
Cause
The Confluence plugin cache became corrupted during the upgrade, and the ContentReconciliationJob
is using incorrect casing.
Resolution
Clear the Confluence plugin cache:
- Shutdown Confluence
- Ensure the user running Confluence has full read/write privileges to the confluence-home directory.
- Remove the following directories
This will remove the plugin cache files only and will not permanently remove any plugins. These directories will be recreated during the next Confluence startup. However, some third-party plugins may store metadata in these directories, so we recommend creating a temporary backup of the directories.<confluence-home>/bundled-plugins
<confluence-home>/plugins-cache
<confluence-home>/plugins-osgi-cache
<confluence-home>/plugins-temp
<confluence-home>/bundled-plugins_language
- Start Confluence