Class IndexConsistencyUtils

java.lang.Object
com.atlassian.jira.issue.index.IndexConsistencyUtils

public class IndexConsistencyUtils extends Object
Utility methods related to performing consistency checks on indexes.
Since:
v5.2
  • Method Details

    • isIndexConsistent

      public static boolean isIndexConsistent(String name, int expectedCount, org.apache.lucene.search.IndexSearcher searcher) throws IOException
      Performs a simple consistency check on an index by opening it, comparing the document count to an expected value supplied by the caller, and closing it. If the expected document count cannot be determined reliably and efficiently, then -1 may be specified to skip that part of the check. If an expected count is given, the actual count must be within the allowed tolerance defined as a percentage of the expected value (set by INDEX_CONSISTENCY_TOLERANCE_PERCENTAGE_SYSTEM_PROPERTY, default INDEX_CONSISTENCY_TOLERANCE_PERCENTAGE_DEFAULT_VALUE) or MINIMUM_ABSOLUTE_TOLERANCE documents, whichever value is larger.

      Parameters:
      name - a name to identify the index
      expectedCount - the expected count of documents in the index, or -1 to skip this check
      searcher - index searcher
      Returns:
      true if the index is present and contains reasonably close to the expected number of documents; false if any exception is thrown or if the index document count is excessively different from the expected count
      Throws:
      IOException
    • getIndexConsistencyTolerancePercentage

      public static int getIndexConsistencyTolerancePercentage()