How to reindex Jira Data Center without downtime
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. 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.
*Except Fisheye and Crucible
Summary
This article instructs how to perform a full re-index on JIRA Data Center such that users are not impacted by the downtime of one node (whilst the indexing operation is completed).
Environment
All versions of Jira Software starting on 7.1 (as Jira 8.x, 9.x).
Solution
After the end of the Full re-index process, the index will be synchronized to the other running nodes in the cluster.
Whilst the Full re-index is in progress in a specific node, if other nodes make indexing changes (as new issues, comments, etc) they will be synchronized, so nothing is lost.
Manually taking nodes off the LB
- Ensure the node has a 'back-door' connector in it, as indicated in this article. This is an alternate HTTP connector that is not connected to the load-balancer / proxy - with details on Integrating JIRA with Apache in the Configure Tomcat section.
- Remove the node from the load-balancer configuration, so clients will not get redirected to it.
- Access the node using the 'back-door' connector (through IP and port), and perform a Full re-index (the foreground Full re-index) as per Search indexing.
- When the index has complete, access the node and verify if everything is working as expected.
- If so, add the node back to the load-balancer configuration.
Automatic if load balancer's configured to monitor /status
Applicable if your LB is configured to use the /status endpoint for health-check.
- Connect to any node and run the Full re-index (the foreground Full re-index) as per Search indexing.
- The node health-check status will be changes to '{"state":"MAINTENANCE"}' and node will be removed from LB.
Attention
- If you are running an older version of Jira (between Jira 7.6 and 8.3) please observe there is a bug regarding the Status Code 500/503 in status page JRASERVER-67138 - Getting issue details... STATUS
- Due to JRASERVER-59721 - Getting issue details... STATUS please update to JIRA 6.4.13 or later before performing a no downtime re-index.