Troubleshoot index problems in Jira server
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
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
Overview
The JIRA applications index controls searching and the activity stream, however, it will also query the application's database (such as to retrieve change histories). Indexing in JIRA applications is performed by Lucene a high-performance, full-featured text search engine library.
What you need to know
JIRA applications will perform partial re-indexes of the Lucene index after every issue change, this is handled by the Issue Index Listener viewable in Administration > System > Listeners
.
It is also possible to run a complete re-index on demand by running a manual re-index from Administration > System > Indexing
. From this location, you can also specify a new location for JIRA application index files.
Indexing speed is not affected by Language Settings. Instead, it relies heavily on the I/O speed of the disk and this could be affected by Antivirus or Virtualised Environment.
Changing the indexing language, however, plays a significant part in word-stemming and searching.
Indexing recommendations
We really only have one major recommendation when it comes to indexing:
Golden Rule
The file path that you specify for JIRA application indexes must be located on a fast local disk.
If JIRA is accessing its indexes across a network drive, Samba, or NFS mount you are going to run into indexing exceptions, this would be a likely exception:
2006-03-28 13:06:05,540 ERROR [jira.issue.index.DefaultIndexManager] Giving up reindex - waited 10 seconds
com.atlassian.jira.issue.index.IndexException
...
So you should never run JIRA applications with this type of configuration.
Finding out the heaviest custom fields
In Jira Data Center 8.10 onward, go to the Clustering screen, select a node and click Actions > Custom field indexing.
Check Jira Cluster Monitoring for more details.
Debugging indexing
The following classes can be set to DEBUG in order to get more detailed information. Please note this will increase the logs verbosity by a lot, it's recommended to set these back to WARN when done.
com.atlassian.jira.issue.index
com.atlassian.jira.issue.index.DefaultIndexManager
com.atlassian.jira.index.AccumulatingResultBuilder
Indexing errors
Locking Exception
This can occur when another process has a lock on the index, possible causes of this are:
- There is a lock file left on disk from a previous unclean restart.
- An old JIRA application instance still has threads running; possibly from an earlier JIRA application instance that was not entirely shut down when JIRA was last restarted.
- A process from the current JIRA application instance that is taking an unusually long time (10+seconds) finishing.
If your logs mention a .lock file the safest solution is to:
- Stop your JIRA application
- Delete the .lock files
- Restart your JIRA application.
- Perform a full re-index.
These lock files (if you are running JIRA applications standalone) will be in Tomcat's temp directory. If you need some extra information finding these lock files it may help to have a quick read of the F.A.Q. article on the Lucene wiki.
Timeout Exceptions
Increase the index wait time
If you are seeing exceptions similar to the example above there may be some contention for the Lucene indexes. The first option is to increase the allowable timeout for obtaining a lock.
This is done by modifying the jira-application.properties file, specifically the value:
- jira.index.lock.waittime=10000 (please note this time is in milliseconds)
More information on modifying values in this properties file is available here:- Advanced JIRA applications configuration (for JIRA 4.4.x and later)
- Advanced JIRA applications configuration with jira-application.properties (for JIRA 4.3.x and earlier)
Take a thread dump
JIRA will automatically perform a thread dump into the log file in the event of index lock timeouts. If the above does not work and you are still seeing these exceptions it is time to create a support request and attach a thread dump when this error is occurring. Hopefully, this thread dump will show what JIRA is currently waiting on to grab the lock on the indexing files.
Poor Indexing Performance
If indexing performance is poor, the typical result is slow response times and index timeouts. Index timeouts will result in potentially out-of-date issue results from searches and in issue navigator and portlets.
Note that poor indexing performance is typically the result of poor disk performance. Note also that an overwhelmingly common cause of poor disk performance on MS Windows is anti-virus software. Understandably, many customers find it difficult to understand how many anti-virus products can continue to have a serious negative impact on disk performance even when the antivirus software is disabled. Nevertheless, it is sometimes necessary to completely uninstall anti-virus software in order to correctly assess the impact it has on disk performance and JIRA indexing. Many anti-virus products can exclude designated directories from close, performance degrading monitoring. The JIRA index directory would be an ideal candidate for such an exclusion.
You can use our disk access speed utility to determine if disk performance is a problem for you. Compare the results you get to our published Good results on that page.
Knowledge Base Articles
Check known searching, indexing, and filters issues from our Knowledge Base
- 'Field Does Not Exist' Message when Searching
- 'FileNotFoundException No Segments File Found in org.apache.lucene.store.FSDirectory' Due to Index Directory Corruption
- Attempting a Re-Index Fails with an Error Stating 'Cannot specify both grouplevel and rolelevel comment visibility'
- Cannot Subscribe to a Filter with Some Non-English Locales
- Error Retrieving Issues under the 'Component' Category in the 'Browse Project' Menu
- Different Issue Status between the View Issue Screen and the Issue Navigator
- Indexing fails due to NullPointerException
- Internet Explorer 8 Shows Unresponsible Script Message in Issues Manage Menu
- java.lang.NullPointerException while running JQL with fixVersion
- JIRA Fails to Display Filtered Issues Due to Lucene Search Limit
- JIRA Filters Returning Empty Set for Anonymous Users
- Reindex fails with Unknown format version Error
- Searches in Find Issues Screen Result in 'Passed List Had More Than One Value'
- Searching for Jira issue by custom field value results in NullPointerException
- Unable to Access an Issue Listed in the Issue Navigator
- Filter export only contains 1000 issues in Jira server
- "User Does not Exist" JQL Exception even when Providing Valid Users
- 'com.atlassian.jira.issue.index.IndexException Problem with path' Due to Invalid Index Location
- Quick Searching for Issues Fails
- Searching and Activity Stream Do Not Update Due to Search Index
- Unable to Reindex JIRA due to java.lang.reflect.UndeclaredThrowableException
- Searching issues with specific custom field option hit into NullPointerException
- LuceneUtils$DateParsingException: Input is not valid date string
- Re-Indexing fails with java.lang.NullPointerException on Link Type Indexing
- Reindexing fails with Unable to index custom date field error in Jira server
- JIRA Throw Error When Trying To Export Search Result Into Excel(All fields)
- Administrator users from LDAP not able to create/edit filters or view avatars of other users
- Indexing Jira throws "LocalDate only handles the Common Era - no BC dates are allowed" error.
- The Jira search page shows the error "XXXX does not exist or you do not have permission to view it"
- Unable to unsubscribe user from filter
- JIRA 4.4.x reindex fail and GreenHopper not working
- JQL Auto Complete is no longer working for individual users
- Faulty Filter causes internal server error or prevents JIRA Agile from upgrading
- After upgrading JIRA indexing is disabled
- Re-index fail due to timestamp conversion issue
- How to increase the Jira search results limit on the issue navigator
- After upgrade to JIRA 6, user can't search issues and filters no longer work.
- java.lang.NumberFormatException: For input string: Error in Issue Navigator when Sorting by Calculated Field
- Re-Index results in ClassCastException
- Issues are not appearing in Issue Navigator search or Dashboards
- How to change the amount of filters listed in the Issues drop down
- Reindexing Jira Server / Data Center causes a Nullpointer Error
- JIRA re-indexing fails with Error getting the next result (This ResultSet is closed.)
- Indexer Service not running
- Error on reindex due to com.atlassian.jira.issue.changehistory
- JQL WAS Operator Returns Error due to Value does not Exist for Field
- java.sql.SQLException: pk_AO_60DB71_SPRINTMARKER_ID is not a constraint when reindexing JIRA
- New created issue is not showing on the issue navigator
- Detail View in Issue Navigator in JIRA 6.x is loading non stop
- Field 'linkedIssues' does not exist or you do not have permission to view it error.
- Unable to Index JIRA due to The specified network name is no longer available
- Issue Navigator displays an error when searching for certain issues
- Clicking Search for Issue under Issues menu result in ERROR [500ErrorPage.jsp] Exception caught in 500 page For input string: ""
- "The JIRA server was contacted but has returned an error response" when searching for issues and using any high-byte character in any text field
- Unable to Locate JIRA Issues with Search
- Unable to sort JQL Query result using Priority field
- Oops - an error has occurred when viewing a filter in issue navigator
- Receiving 500 Error When Loading a Filter after Upgrade Process
- The option 'XXX' for field 'XXX' does not exist.
- 500 error when click on Issue Drop Down at Navigation Bar
- Using Not Equals on a Resolution does not return Unresolved Issues
- Name Should Not Be Empty Error when trying to run any filter
- Permission Violation when Accessing an Issue
- ClassCastException when indexing issues, due to misconfigured Script Runner scripted field
- Resolved issues appearing in Open issues filters
- Upgrade to JIRA 6.4.x failed with the errors "com.atlassian.jira.index.IndexingFailureException: Indexing completed with 1 errors"
- Quick Search Issue Fails
- Re-Indexing fails on Jira Data Center 8.7.1 due to tasks can not be cleaned too early