Details
-
Bug
-
Resolution: Tracked Elsewhere
-
Low
-
None
-
3.5.5
-
None
-
None
Description
Starting from 3.1 Fisheye uses single Lucene index for all repositories known as cross-repository index. It was observed for 3.5.5 that Lucene causes OOME for large instance. Cross-repository index terms retained about 2GB of RAM and field caches kept 1GB for longs nd 0.5GB for ints.
Potential solutions:
- term index
- bump Lucene deom 3.0 to 3.6 or 4.x to get benefits from https://issues.apache.org/jira/browse/LUCENE-2205 or described on http://blog.mikemccandless.com/2010/07/lucenes-ram-usage-for-searching.html. Potentially it might save 1GB.
- field cache (for fields used in sort)
- shave long to int for dTimeMillis and lastModified - reduces used size by 2 to save 0.5GB
- dTimiesMillis and lastModified should be merged into one field - it would decrease number of field caches by 1. Potential quick win
- reduce all used by RecencyBoostingQuery or sorting timestamp fields lastUpdateHours (changeset), lastModifiedHrs (path), lastModified (branch), dTimeMillis (changeset) to one field dTimeSecs and reduce its size to integer. It would give us reduction of memory used by FieldCache(s) to 1/6 (1.5GB -> 250MB)
- do not sort if possible