[
https://issues.apache.org/jira/browse/LUCENE-4368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13451566#comment-13451566
]
Uwe Schindler commented on LUCENE-4368:
---------------------------------------
Hi,
this is not possible, as the sentinel objects are reused and modified. While
collecting the hits, all sentinel objects are reused and reinserted into the
hit queue. If you return the same global singleton, this singleton would be
modified all the time, changing all contents of the HitQueue. The default
entries in the hit queue must be different instances.
The problem you are seing may be related to the fact that you are making your
HitQueue too big, by passing a too large number of hits to be returned.
> make sentinel object in HitQueue a singleton?
> ---------------------------------------------
>
> Key: LUCENE-4368
> URL: https://issues.apache.org/jira/browse/LUCENE-4368
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/search
> Affects Versions: 4.0-BETA
> Reporter: Steven Bethard
>
> Via jvisualvm, I see that one of my Lucene processes is spending a lot of
> time in HitQueue.getSentinelObject. That's a very simple method that
> currently looks like:
> protected ScoreDoc getSentinelObject() {
> return new ScoreDoc(Integer.MAX_VALUE, Float.NEGATIVE_INFINITY);
> }
> Since the same sentinel is always returned, perhaps the sentinel should be
> declared as a static variable on HitQueue and then getSentinelObject() would
> just return that static value?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]