Periodic full reindex in Jira Data Center is not required
JIRA 8.13 JIRA 8.20 JIRA 9.4 JIRA DATA CENTER
Before 8.13
Before JIRA 8.13, there were a number of issues in Jira that could result in inconsistency of the index between a node and the database as well as between any two nodes.
One of the main problems causing this issue was the lack of a conflict resolution algorithm when doing any update of the index. Any concurrent reindexing operation on a single issue would result in a random state of this issue in the index, which could be inconsistent with the state of the issue in the database and/or with the state of the issue on other nodes.
One way Jira Data Center admins were dealing with this problem was to schedule a regular full reindexing step into their process to fix any inconsistency. Since JIRA 8.13, Jira guarantees index consistency so that performing regular full reindex can be skipped.
What changed in Jira 8.13
When working on Document Index Replication, which provides almost real-time propagation of index changes across the cluster, we've introduced versioning of all indexed entities: issues, history, comments, and worklogs.
Now, every request to reindex an entity bumps this entity version, and all index updates are conditional updates. This means that a document representing an entity will only update the index if the new document version is greater than or equal to the existing document version.
Additionally, there's a log of all indexing operations in the cluster (the database). Each node consumes this log by checking if any of the recently reindexed entities are present in the required version in the local index (the maximum delay is 15 seconds).
Find out more details on:
Known problems
JRASERVER-62379 - Getting issue details... STATUS
JRASERVER-74348 - Getting issue details... STATUS
JRASERVER-75342 - Getting issue details... STATUS