Fix indexing issues with index auto-healing

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

Index auto-healing is designed to maintain optimal search performance on your instance by regularly scanning your system for any indexing problems. This means that you no longer need to plan a full reindexing of your Jira app—detected problems will be fixed automatically with no impact on your work.

How index auto-healing works

To configure index auto-healing, you must be logged in as a user with Jira administrator permissionsOverview of global permissions in Jira

Index auto-healing identifies and resolves the following types of issues:

  • Index orphans: happen when Jira issues exist only in the index but not in the database.

  • Database orphans: occur when Jira issues exist only in the database but not in the index.

  • Outdated issues: are caused by a mismatch between the indexed data and the data in the database.

The index auto-healing process is automated through a scheduled cron job. It works by deindexing issues that are absent from the database and reindexing issues that are missing or outdated in the index. This is done on a per-node basis to ensure that all inconsistencies are addressed across the system, with all nodes initiating the index auto-healing process simultaneously.

Configure index auto-healing

By default, index auto-healing is scheduled to run daily at 1 a.m. local instance time. You can change the cron schedule or disable the feature in the Instance optimizer settings in Jira.

To modify index auto-healing settings:

  1. In the upper-right corner of your Jira application, select Jira administration, and then select System.System settings in Jira administration menu

  2. In the sidebar, navigate to Instance optimizer and then select Index auto-healing.Index auto-healing page

Update the index auto-healing schedule

The index auto-healing schedule is constructed as a cron expression using the format minute hour day_of_month month day_of_week, where each value is separated by spaces. For a detailed overview of cron syntax, refer to Constructing cron expressions.

Using cron syntax gives you more flexibility over the date and time settings as you specify exactly when the job should run, down to the minute.

For example, you might want to run index auto-healing at 2:15 p.m. on the first day of February, April, June, August, October, and December. Your cron expression would look like this: 15 14 1 2,4,6,8,10,12 *.

Check index auto-healing details in logs

Detailed information about the status and outcomes of index auto-healing is recorded in the advanced audit log. You can access logs directly from the Index auto-healing page by selecting the View logs button in the upper-rigth corner of the screen.

On the Advanced audit logs page, all information is displayed under the Index auto-healing category. Here’s an example of an audit log entry:Example of an index auto-healing entry in the audit log

  1. The index auto-healing category that contains all logged events for the index auto-healing job.

  2. Details of an audit log entry.

Each audit log entry includes details about the completed auto-healing job, such as:

  • Node ID: Unique ID of the node where the index auto-healing was performed.

  • Batch size: Maximum number of unhealthy items analyzed in each batch.

  • Index status on this node: Indicates the health of the index after the job execution. The status can be Healthy (the job was completed successfully) or Unhealthy (the job finished with errors). If this happens, we recommend performing a manual re-index. How to re-index Jira

  • Job results: Outcomes of the index auto-healing job.

  • Total items failed: The number of items that were completed with errors. The number of "Total items failed" may not match the number of unhealed items, since some issues may be successfully fixed during the retries.

  • Total items healed: The number of items that were healed in the index auto-healing job.

  • Total items unhealed: The number of items that couldn’t be healed. In this case, it’s recommended to perform manual re-indexing.

  • Total processing time (ms): Total time it took to run index auto-healing.

Read more about auditing in Jira

Last modified on Nov 4, 2025

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.