[ https://issues.apache.org/jira/browse/OAK-7078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16295793#comment-16295793 ]
Dirk Rudolph commented on OAK-7078: ----------------------------------- I created [#77|https://github.com/apache/jackrabbit-oak/pull/77] which contains a unit test and the necessary null check for derlerencing topChildren in FilteredSortedSetDocValuesFacetCounts. > NullPointerException in FilteredSortedSetDocValuesFacetCounts during query > evaluation > ------------------------------------------------------------------------------------- > > Key: OAK-7078 > URL: https://issues.apache.org/jira/browse/OAK-7078 > Project: Jackrabbit Oak > Issue Type: Bug > Components: lucene > Affects Versions: 1.6.7 > Reporter: Dirk Rudolph > > Running the following query {{select \[rep:facet(simple/tags)] from > \[nt:base] where contains(\[text], 'ipsum')}} with the following content > {code} > /content/foo > - text = "lorem lorem" > + simple/ > - tags = ["tag1", "tag2"] > /content/bar > - text = "lorem > {code} > runs in the following NPE > {code} > java.lang.NullPointerException > at > org.apache.jackrabbit.oak.plugins.index.lucene.util.FilteredSortedSetDocValuesFacetCounts.getTopChildren(FilteredSortedSetDocValuesFacetCounts.java:63) > at > org.apache.lucene.facet.MultiFacets.getTopChildren(MultiFacets.java:52) > at > org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LucenePathCursor$2.getValue(LucenePropertyIndex.java:1646) > ... 38 more > {code} > This is because the result set for the query only contains {{/content/bar}} > and with that the count of the dimension {{simple/tag}} is 0. For that case > [SortedSetDocValuesFacetCounts#getDim()|https://github.com/apache/lucene-solr/blob/releases/lucene-solr/4.7.1/lucene/facet/src/java/org/apache/lucene/facet/sortedset/SortedSetDocValuesFacetCounts.java#L108] > returns {{null}} and so does {{getTopChildren}}. > This expected behaviour is properly handled in > [LucenePropertyIndex.java#L1647|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.6.7/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java#L1647] > but not in > [FilteredSortedSetDocValuesFacetCounts.java#L63|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.6.7/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/FilteredSortedSetDocValuesFacetCounts.java#L63] > where {{topChildren}} is dereferenced without null check. > To workaround that secure facets can be set to false, though the default > value is true. > -- This message was sent by Atlassian JIRA (v6.4.14#64029)