Uploaded image for project: 'Apache Blur'
  1. Apache Blur
  2. BLUR-370

Memory leak when using facets in 0.2.3

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.2.3
    • 0.2.4
    • Blur
    • None

    Description

      Code in a new class DeepPaging that keeps up with IndexReader generations and pointers to previous search positions to allow for faster paging through results was enabled in 0.2.3. This code used the Lucene Query objects themselves as keys in the lru cache. This means the FacetQuery is also placed into the lru cache. The FacetQuery holds a reference the FacetExecutor which holds references to the BitSets that are built up during the facet execution.

      Long story short if facets are used, up to 1000 BitSets per shard per table can be held on the heap and this can cause OOM errors.

      As a work around on 0.2.3 you can set blur.shard.deep.paging.cache.size=1 in the blur-site.properties file. Do not set it to 0, this will cause another issue where NO cache values are ever released.

      Attachments

        Activity

          People

            amccurry Aaron McCurry
            amccurry Aaron McCurry
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: