Cluster Index Replication health check reports delay when the database is in a different timezone than Jira
Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.
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.
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.
- 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.