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 ディレクトリへの完全な読み取り / 書き込み権限が割り当てられていることを確認します。
- 次のディレクトリを削除します。
これはプラグイン キャッシュ ファイルのみを削除し、プラグインの完全な削除は行いません。これらのディレクトリは、Confluence の次回の起動時に再作成されます。ただし、サードパーティ プラグインによっては、このディレクトリにメタデータを格納している可能性があります。このため、ディレクトリの一時的なバックアップを作成しておくことをおすすめします。<confluence-home>/bundled-plugins
<confluence-home>/plugins-cache
<confluence-home>/plugins-osgi-cache
<confluence-home>/plugins-temp
<confluence-home>/bundled-plugins_language
- Confluence を起動します。