lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Endele (JIRA)" <>
Subject [jira] [Commented] (LUCENE-5021) NextDoc NPE safety when bulk collecting
Date Mon, 09 Sep 2013 07:15:52 GMT


Simon Endele commented on LUCENE-5021:

I think what you originally searched for is this: SOLR-5020
> NextDoc NPE safety when bulk collecting
> ---------------------------------------
>                 Key: LUCENE-5021
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/index, core/other
>    Affects Versions: 3.6.2
>         Environment: Any with custom filters
>            Reporter: Alexis Torres Paderewski
>              Labels: NPE,, Null-Safety, Scorer
> Hello,
> I would like to apply ACL once as a PostFilter and I therefore need to bulk this call
since round trips would severely decrease performances.
> I tried to just stack them on the DelegatingCollector using this collect :
>     @Override
>     public void collect(int doc) throws IOException {
>         while ((doc = scorer.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
>             docs.put(getDocumentId(doc), doc);
>         }
>         batchCollect();
>     }
> Depending on the Scorer it may or it may not work. Indeed when the Scorer is "Safe" 
that is when it handles 
> the case in which the scorer is exhausted and is called once again after exhaustion.
> This is the case of the (e.g. DisjunctionMaxScorer, ConstantScorer):
> if (numScorers == 0) return doc = NO_MORE_DOCS; 
> On the other hand, when using the DisjunctionSumScorer, it either asserts on "NO_MORE_DOCS",
or it throws a NPE.
> Shouldn't we copy the DisjunctionMaxScorer mechanism to protect nextDoc of an exausted
iterator using either current doc or checking numbers of subScorers ?

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:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message