Cluster Index Replication health check reports delay when the database is in a different timezone than Jira
プラットフォームについて: サーバーと Data Center のみ。この記事は、サーバーおよび Data Center プラットフォームのアトラシアン製品にのみ適用されます。
要約
When the database is in a server with a different timezone than the Jira application cluster, the Cluster Index Replication health check reports nodes to be behind by the same number of seconds as the timezone offset.
This issue's tracked on: - ATST-1080Getting issue details... STATUS
環境
All versions of Jira 7 and 8 with Troubleshooting and Support - Jira up to version 1.32.x.
The Health Check is performed by the pre-installed app Troubleshooting and Support - Jira, not Jira itself.
DB:
- Microsoft SQL - the problem was reproduced using this DB
- Possibly Oracle - needs verification.
診断
The database server is in a different timezone than the application servers and the Cluster Index Replication health check reports nodes behind by the same number of seconds as the offset and doesn't decrease.
Example: the Jira app cluster is in GMT+0, the Database in GMT-5 and the health check reports 18,000 seconds of difference. That matches the 5 hours offset.
原因
The Troubleshooting and Support - Jira pre-installed app (plugin) doesn't predict this "geo-clustering" scenario and reports a false-positive failure in Index Replication.
The health check is performed by comparing the current node time (from the JVM) with the time recorded in column index_time
or table replicatedindexoperation
. Yet on the database this time is recorded in the database timezone. The date comparison is not made in UTC.
ソリューション
Currently there's no other option than to:
a) Ignore the health check reports when the delay is within the timezone threshold
または
b) Configure the environment so the database manipulates timestamps in the same offset as the Jira nodes.