[ 
https://issues.apache.org/jira/browse/JCR-3407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443928#comment-13443928
 ] 

Alex Parvulescu commented on JCR-3407:
--------------------------------------

I added another NPE chech with revision 1378487, just to make sure the NPE fix 
in DescendantSelfAxisQuery covers other scenarios as well.
                
> CaseTermQuery #rewrite behavior changes
> ---------------------------------------
>
>                 Key: JCR-3407
>                 URL: https://issues.apache.org/jira/browse/JCR-3407
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>            Reporter: Alex Parvulescu
>            Assignee: Alex Parvulescu
>             Fix For: 2.6
>
>
> I've ran into a DescendantSelfAxisQuery query that generates a NPE [0].
> It seems that the CaseTermQuery #rewrite behavior changed after the Lucene 
> upgrade.
> In the case where there are no hist, the MultiTermQuery now returns a bunch 
> of BooleanQuery(ies), which can produce null scorers.
> The pre-update behavior was to produce some ConstantScoreQuery queries.
> I'll change the rewrite method (#setRewriteMethod) to always produce a 
> ConstantScoreQuery, bypassing the existing optimization in lucene, but 
> enforcing a safe (no nulls) scorer behavior in jackrabbit.
> [0]
> java.lang.NullPointerException
>       at 
> org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$DescendantSelfAxisScorer.collectContextHits(DescendantSelfAxisQuery.java:532)
>       at 
> org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$DescendantSelfAxisScorer.nextDoc(DescendantSelfAxisQuery.java:473)
>       at 
> org.apache.jackrabbit.core.query.lucene.LuceneQueryHits.nextScoreNode(LuceneQueryHits.java:62)
>       at 
> org.apache.jackrabbit.core.query.lucene.QueryHitsAdapter.nextScoreNodes(QueryHitsAdapter.java:54)
>       at 
> org.apache.jackrabbit.core.query.lucene.FilterMultiColumnQueryHits.nextScoreNodes(FilterMultiColumnQueryHits.java:63)
>       at 
> org.apache.jackrabbit.core.query.lucene.QueryResultImpl.collectScoreNodes(QueryResultImpl.java:328)
>       at 
> org.apache.jackrabbit.core.query.lucene.QueryResultImpl.getResults(QueryResultImpl.java:291)
>       at 
> org.apache.jackrabbit.core.query.lucene.SingleColumnQueryResult.<init>(SingleColumnQueryResult.java:66)
>       at 
> org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:134)

--
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

Reply via email to