Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-67125

Extensive memory allocation for indexes with large number of terms

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • 7.2.14, 7.10.0, 7.6.7
    • 7.2.1, 7.3.1, 7.4.1, 7.5.1, 7.6.1, 7.7.1, 7.8.1, 7.9.1
    • Indexing

      Summary

      Indexes with large number of terms (unique pairs of field name and it's values) cause extensive memory allocation each time an issue is being reindexed. On every commit to Lucene index TermInfosReader is regenerated. It contains several large arrays: terms, term infos and index pointers. This situation leads to frequent humongous allocations on G1-enabled instances.

      Steps to reproduce

      Provide instance with index containing large amount of unique terms (millions) and reindex issues several times.

      Actual results

      Each commit to Lucene index causes extensive memory allocation.
      On G1-enabled instances it can lead to humongous allocations.

      Expected results

      Commit to Lucene index does not lead to humongous allocations.

      Notes

      Allocation rates observed on large instances:

      • Number of terms in Issues index: more than 100mln
      • Lucene builds terms index for every 128th term
      • Number of objects in each of TermInfosReader's arrays: 100mln / 128 = ~780k
      • Retained heap observed in heap dumps: ~130mb
      Workaround

      There is no workaround for this issue.

            Unassigned Unassigned
            tzwierzchowski Tomasz Zwierzchowski
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: