Synchrony Heartbeat fails due to a TimedOutException
プラットフォームについて: Data Center のみ。 - This article only applies to Atlassian apps on the Data Center プラットフォーム。
この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。 Server* 製品のサポートは 2024 年 2 月 15 日に終了しました。Server 製品を実行している場合は、 アトラシアン Server サポート終了 のお知らせにアクセスして、移行オプションを確認してください。
*Fisheye および Crucible は除く
要約
Synchrony fails and it is reported in Confluence UI as stopped or having errors.
環境
Confluence 7.19.X and Confluence 8.X
診断
Reviewing the atlassian-confluence.log, it can be observed that the Synchrony heartbeat check failed due to a TimedOutException:
2023-11-07 08:41:54,560 WARN [synchrony-interop-executor:thread-8] [plugins.synchrony.bootstrap.DefaultSynchronyMonitor] lambda$pollHeartbeat$1 Rescheduled heartbeat check failed.
-- url: /rest/synchrony-interop/restart | userName: admin | referer: https://CONFLUENCE_URL/admin/confluence-collaborative-editor-plugin/configure.action | traceId: 403fa3a71a94ee0f
io.atlassian.util.concurrent.TimedOutException: Timed out after: 30076280311 NANOSECONDS
at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyMonitor.lambda$pollHeartbeat$0(DefaultSynchronyMonitor.java:137)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
...
...原因
1) Synchrony is using the URL, http://127.0.0.1:8091/synchrony which should be escaped by the forward proxy.
2) There is a misconfiguration on the reverse proxy level such as the wrong Synchrony port being used.
ソリューション
1) Follow the configuration described in our Configuring Web Proxy Support for Confluence documentation:
If you're using Confluence 6.0 or later with Synchrony, you'll need to pass the following to ensure Confluence can connect directly to Synchrony.
Replace localhost|127.0.0.1 with your Synchrony IP if you have used the synchrony.host system property to change the IP Synchrony uses.
-Dhttp.nonProxyHosts=localhost|127.0.0.1 -Dhttps.nonProxyHosts=localhost|127.0.0.1Note: You may need to escape the pipe character | in some command-line environments.
If the http.nonProxyHosts property is not configured, all web requests will be sent to the proxy.
Remember to restart Confluence once the change is implemented.
2) If you are using the direct connection to the Synchrony port at the reverse proxy level, check your reverse proxy configuration and make sure that /synchrony requests are redirected to the correct Synchrony port which is 8091 by default.
この内容はお役に立ちましたか?