Issues

Select view

Select search mode

 
19 of 19

NPE using two fulltext filters, one of them matching nothing (some filters only)

Fixed

Description

It seems that some filter implementations are allowed to return null instead of an empty iterator if they don't match any document.
In this case if multiple filters are enabled, and they are eligible for bitset merging, and no matches where found, we get:

java.lang.NullPointerException org.hibernate.search.filter.AndDocIdSet.findFirstTargetPosition(AndDocIdSet.java:144) org.hibernate.search.filter.AndDocIdSet.makeDocIdSetOnAgreedBits(AndDocIdSet.java:89) org.hibernate.search.filter.AndDocIdSet.buildBitSet(AndDocIdSet.java:81) org.hibernate.search.filter.AndDocIdSet.iterator(AndDocIdSet.java:60) org.apache.lucene.search.IndexSearcher.searchWithFilter(IndexSearcher.java:550) org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:525) org.hibernate.search.query.engine.impl.QueryHits.updateTopDocs(QueryHits.java:219) org.hibernate.search.query.engine.impl.QueryHits.<init>(QueryHits.java:127) org.hibernate.search.query.engine.impl.HSQueryImpl.getQueryHits(HSQueryImpl.java:419) org.hibernate.search.query.engine.impl.HSQueryImpl.queryEntityInfos(HSQueryImpl.java:222) org.hibernate.search.query.hibernate.impl.FullTextQueryImpl.list(FullTextQueryImpl.java:206) com.example.dao.impl.DaoImpl.search(Unknown Source) ....

Details

Assignee

Reporter

Fix versions

Priority

Created April 20, 2011 at 11:33 PM
Updated January 27, 2015 at 10:20 PM
Resolved October 21, 2012 at 9:18 PM

Activity

Sanne GrinoveroOctober 21, 2012 at 9:15 PM

reopening temporarily as its fix was ported to the 3.4 branch without marking that here.

Steve JonesMay 31, 2011 at 10:59 PM

Flag notifications