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

Make Lucene Search with unlimited PageFilter fail to prevent unnecessary memory allocation

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 7.2.12, 7.4.6, 7.6.3
    • JQL

      Summary

      Lucene Search with unlimited PageFilter causes unnecessarily memory allocation for enterprise instances (1M+ issues).

      In many places unlimited PageFilter is used in JQL queries (Agile board, plugins such as JQL Tricks). This leads to the allocation of an array which has number of documents items, where number of documents is typically greater than number of issues.

      For 1M+ issues the object size usually is greater than G1HeapRegionSize/2 so it's humongous object. As part of JRASERVER-63665 there was change to optimize the Lucene search and implement Debug logging.

      Jira prepares a search with a small limit set (1000) first and checks if totalHits is bigger. If it's bigger then we do a second search and we exactly know the limit now (totalHits from the previous search). I also added analytics to validate this limits and also added logs (debug level).

      Expected Results

      • Increase log level
      • Fine tune limits.
      • Throw an exception during a search, if someone will try to fetch a large amount of documents (100k+).

              Unassigned Unassigned
              ayakovlev@atlassian.com Andriy Yakovlev [Atlassian]
              Votes:
              15 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated: