[
https://issues.apache.org/jira/browse/SOLR-15057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17254194#comment-17254194
]
Christine Poerschke commented on SOLR-15057:
--------------------------------------------
{quote}... curious how it was found ...
{quote}
Bit of a mix, we did some assessments a while ago re: how filter cache entries
translated into memory requirements for the JVM and from that I vaguely
remembered about {{DocSet}} object sizes. And then this week when I saw the
_"save for later // TODO: only save if number of slots is small enough?"_
comment in the code that somehow stood out (since we don't do sub-facets i.e.
there is no "later") whilst investigating faceting performance.
> avoid unnecessary object retention in FacetRangeProcessor
> ---------------------------------------------------------
>
> Key: SOLR-15057
> URL: https://issues.apache.org/jira/browse/SOLR-15057
> Project: Solr
> Issue Type: Task
> Reporter: Christine Poerschke
> Assignee: Christine Poerschke
> Priority: Minor
> Time Spent: 10m
> Remaining Estimate: 0h
>
> * The (private) {{doSubs}} method is a no-op if there are no sub-facets.
> * The (private) {{intersections}} and {{filters}} arrays are only used by
> the {{doSubs}} method.
> * The (private) {{rangeStats}} method currently always populates the
> {{intersections}} and {{filters}} arrays, even when nothing actually
> subsequently uses them.
> * If {{rangeStats}} only populated the {{intersections}} array when it's
> actually needed then the {{DocSet intersection}} object would remain local in
> scope and hence the garbage collector could collect it earlier.
> [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.7.0/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java#L531-L555]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]