public class

IndexConsistencyUtils

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

Class Overview

Utility methods related to performing consistency checks on indexes.

Summary

Public Methods
static boolean isIndexConsistent(String name, int expectedCount, Supplier<IndexSearcher> supplier)
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.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public static boolean isIndexConsistent (String name, int expectedCount, Supplier<IndexSearcher> supplier)

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 can not 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 10% of the expected value or 10 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
supplier provides a searcher for the index; should throw an exception if the index is unavailable
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