vonbox opened a new pull request #2118:
URL: https://github.com/apache/lucene-solr/pull/2118


   # Description
   
   When parsing a sub query in a function query, 
FunctionQParser#parseValueSource does not check if the produced query object is 
null. When it is, it just wraps a null in a QueryValueSource object. This is a 
cause for NPE's in code consuming that object. Parsed queries can be null, for 
example when the query string only contains stopwords, so we need handle that 
condition.
   
   # Solution
   
   Added a null check to FunctionQParser#parseValueSource
   
   # Tests
   
   The problem can be reproduced via:
   1.     Start solr with the techproducts example collection: solr start -e 
techproducts
   2.     Add a stopword to 
SOLR_DIR/example/techproducts/solr/techproducts/conf/stopwords.txt, for example 
"at"
   3.     Execute a function query: 
http://localhost:8983/solr/techproducts/select?fieldquery={!field%20f=features%20v=%27%22at%22%27}&q={!func}%20if($fieldquery,1,0)
   
   After applying this PR the NPE is gone.
   
   # Checklist
   
   Please review the following and check all that apply:
   
   - [x] I have reviewed the guidelines for [How to 
Contribute](https://wiki.apache.org/solr/HowToContribute) and my code conforms 
to the standards described there to the best of my ability.
   - [x] I have created a Jira issue and added the issue ID to my pull request 
title.
   - [x] I have given Solr maintainers 
[access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
 to contribute to my PR branch. (optional but recommended)
   - [x] I have developed this patch against the `master` branch.
   - [x] I have run `./gradlew check`.
   - [x] I have added tests for my changes.
   - [x] I have added documentation for the [Ref 
Guide](https://github.com/apache/lucene-solr/tree/master/solr/solr-ref-guide) 
(for Solr changes only).
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to