Lucene 10.3.1 upgrade in Jira 12

This page outlines breaking changes and configuration updates resulting from the upgrade of the Lucene library from version 7.3 to 10.3.1.

Due to changes in the index structure, Jira will automatically perform a full foreground reindex when upgrading to Jira 12.


API changes

We removed several methods and fields from the Jira API and jira-lucene-dmz.jar that are no longer required.

Class or package
 

Change
 

com.atlassian.jira.configIssueTypeSchemeService

Class removed.

com.atlassian.jira.lucene.internal.issue.search.ReaderCache

Class removed.

com.atlassian.jira.search.issue.index.indexers.impl.BaseCustomFieldIndexer

  • Removed constructors with parameters for FieldVisibilityManager, CustomField, and various field types (KeywordField, LongField, DoubleField, DateTimeField).
  • Removed indexField method. Instead, use FieldValueCollector when overriding the indexFields method.

com.atlassian.jira.search.Analyzer

Removed DEFAULT_EXACT field.

com.atlassian.jira.search.entity.EntityIndexExtractor$Context​

Removed getIndexName method.

com.atlassian.jira.web.bean.PagerFilter

Removed getUnlimitedFilter method.

com.atlassian.jira.util.index.IndexLifecycleManager

Removed optimize method.

com.atlassian.jira.search.lucene.LuceneQueryMapper

Removed map(com.atlassian.jira.search.Query, com.atlassian.jira.search.lucene.MappingContext) method.

com.atlassian.jira.config.properties.APKeys$JiraIndexConfiguration$Batch

Fields removed:

  • MAX_BUFFERED_DOCS
  • MAX_MERGE_DOCS
  • MERGE_FACTOR

com.atlassian.jira.config.properties.APKeys$JiraIndexConfiguration

Removed COMMIT_POLICY field.

com.atlassian.jira.config.properties.APKeys$JiraIndexConfiguration$Interactive

Fields removed:

  • MAX_BUFFERED_DOCS
  • MAX_MERGE_DOCS
  • MERGE_FACTOR

com.atlassian.jira.config.properties.APKeys$JiraIndexConfiguration$MergePolicy

Fields removed:

  • MAX_MERGE_AT_ONCE_EXPLICIT
  • RECLAIM_DELETES_WEIGHT

com.atlassian.jira.issue.customfields.statistics.SelectStatisticsMapper

Removed RAW_VALUE_SUFFIX field.

IssueIndexManager

Removed methods:

  • hold
  • isHeld
  • release

DelegateSearcher

  • Added: storedFields
  • Removed: createNormalizedWeight, doc
  • Changed: createWeight, termStatistics, getSimilarity, and search signatures.

MappedSortComparator

Changed to FieldComparator newComparator(String fieldname, int numHits, Pruning pruning, boolean reversed).


Configuration changes

The following configuration items are now obsolete and have been removed:

  • jira.index.mergepolicy.maxmergeatonceexplicit
  • jira.index.mergepolicy.reclaimdeletesweight
  • jira.index.interactive.mergefactor
  • jira.index.interactive.mergedocs
  • jira.index.interactive.maxbuffereddocs
  • jira.index.batch.mergefacto
  • jira.index.batch.mergedocs
  • jira.index.batch.maxbuffereddocs
  • jira.index.commitpolicy

The following configuration item has been added:

  • mergepolicy.indexpctdeletedtarget


Label ordering changes

We’ve resolved a bug in label ordering. In previous versions, reindexing an issue caused it to be counted multiple times, which incorrectly boosted its position in the list. The latest Lucene version ensures each issue is counted only once, providing a more accurate sort order.

Last modified on Mar 5, 2026

Was this helpful?

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