The JIRA applications index controls searching and the activity stream, however it will also query the applications 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 applications index files.
Indexing speed is not affected by Language Settings. Instead, it relies heavily by the I/O speed of the disk and this could be affected by Antivirus or Virtualised Environment.
Changing the indexing language however play a significant part in the word-stemming and searching.
We really only have one major recommendation when it comes to indexing:
The file path that you specify for JIRA applications 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.
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 applications instance still has threads running; possibly from an earlier JIRA applications 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 too:
- 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.
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 do 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 in 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 by a custom field with invalid value/option results in "NullPointerException" on "customfields.manager.DefaultOptionsManagerDefault"
- 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.
- Field or Filter 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
- Modifying the time settings for JIRA send a filter subscription
- 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
- Deleted Issue Will Still Appear On a Filter
- 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 causes a Nullpointer Error
- JIRA re-indexing fails due to incompatible database configuration
- JIRA Issue status out of sync when viewed through the Issue Navigator
- 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