Confluence throws 'Table <table-name> doesn't exist' error after syncing with external directory
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
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.
*Fisheye および Crucible は除く
問題
After upgrading Confluence and completing a sync with an external directory, Confluence throws an error.
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]
原因
The Confluence plugin cache became corrupted during the upgrade, and the ContentReconciliationJob
is using incorrect casing.
ソリューション
Clear the Confluence plugin cache:
- Confluence をシャットダウンします。
- Confluence を実行しているユーザーに confluence-home ディレクトリへの完全な読み取り / 書き込み権限が割り当てられていることを確認します。
- 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
- Confluence を起動します。