Confluence のページの編集および作成がコンテンツの照合エラーにより失敗する
プラットフォームについて: 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 は除く
要約
Confluence でページ編集および作成が失敗する。(特に、変更を公開しようとする時に) UI 上にタイムアウトのメッセージが表示される。
環境
- Confluence version 6.13+
- 共同編集が有効になっている
- サーバーまたは Data Center
診断
- ネットワークに問題がなく、ブラウザは問題なく Synchrony または Synchrony プロキシに接続できる。
atlassian-confluence.log を確認すると、以下のようなメッセージが確認できる。
WARN [http-nio-8090-exec-55] [plugins.synchrony.service.SynchronyContentService] runRecoveryInTransaction Could not reconcile content for restored. ID: 5555555 Caused by: com.atlassian.confluence.plugins.synchrony.model.SynchronyException: UNKNOWN_ERROR
原因
コンテンツの照合を実行できません。これは、Confluence テーブル (CONTENT および BODYCONTENT) と Synchrony テーブル (EVENTS および SNAPSHOTS) の間でデータを同期するタスクの 1 つです。これは、Confluence と Synchrony が独立してコンテンツのコピーを保持するために必要なタスクです。
ソリューション 1
単一のページ、または、一部少数のページでこの問題が発生している場合には、以下の手順に従ってください。
- 影響を受けているページをコピーします。
- 編集を試みます。
- 編集できた場合には、影響を受けたページをアーカイブし、コピーとして作成した新しいページを引き続き使用してください。
ページをコピーすると、Confluence と Synchrony の両テーブルに新しいエントリが作成されます。元のページの Synchrony 側のデータに問題があった場合、コピーに対して新しい ID が作成されるため、そのページは使用されなくなります。この方法が、この特定の問題の場合、影響を受けているページの編集アクセスを回復できる迅速かつ簡単な回避策です。
ソリューション 2
複数のページが同じエラーの影響を受けており、Confluence 7 以上を使用している場合には、エビクション ジョブを利用して Synchrony テーブルをクリーンアップすることができます。ページが再度編集されると、新しいエントリが作成されるため、実際にデータの破損または Synchrony 側の問題が原因で問題が発生した場合は、問題は解決されます。詳細は、以下のページを参照してください。より深くクリーンアップするには、ハード エビクション ジョブを推奨します。
ソリューション 3
Confluence 6 を実行している場合は、エビクション ジョブがないため、Synchrony テーブルのクリーニングを手動で行う必要があります。これにより、コンテンツの照合が再び正常に完了できるようになります。実施方法は、以下のガイドで説明しています。
注意
この問題がどのように引き起こされるかは、まだわかっていません。Synchrony テーブルをクリアすると問題が解決するため、そのデータに何らかの破損が発生していると考えられます。原因や再現方法を特定でき次第、バグレポートを作成し、本記事に追記します。