You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Bram Van Dam (Jira)" <ji...@apache.org> on 2020/08/19 15:51:00 UTC
[jira] [Created] (SOLR-14758) NPE in QueryComponent.mergeIds when
using timeAllowed and sorting
Bram Van Dam created SOLR-14758:
-----------------------------------
Summary: NPE in QueryComponent.mergeIds when using timeAllowed and sorting
Key: SOLR-14758
URL: https://issues.apache.org/jira/browse/SOLR-14758
Project: Solr
Issue Type: Bug
Security Level: Public (Default Security Level. Issues are Public)
Components: SolrCloud
Affects Versions: 7.7.3, master (9.0)
Reporter: Bram Van Dam
Only tested on 7.7.3 and master, but the offending code hasn't been changed for a while, so this presumably affects other versions as well.
Steps to reproduce:
# SolrCloud
# Create a query which is complex enough to take a while
# Add a sort clause to the query (e.g. &sort=creationTimestamp asc)
# Add a short value timeAllowed (10ms in my test)
Result: NPE in QueryComponent.mergeIds:935
It may take a couple of attempts to hit the error.
Offending code:
{code:java}
NamedList sortFieldValues = (NamedList)(srsp.getSolrResponse().getResponse().get("sort_values"));
if (sortFieldValues.size()==0 && // we bypass merging this response only if it's partial itself
thisResponseIsPartial) { // but not the previous one!!
continue; //fsv timeout yields empty sort_vlaues
}
{code}
sortFieldValues can apparently be null in some cases, depending on when the query hits the timeAllowed. Adding an extra null check fixes the issue.
{code:java}
NamedList sortFieldValues = (NamedList)(srsp.getSolrResponse().getResponse().get("sort_values"));
if ((null == sortFieldValues || sortFieldValues.size()==0) && // we bypass merging this response only if it's partial itself
thisResponseIsPartial) { // but not the previous one!!
continue; //fsv timeout yields empty sort_vlaues
}
{code}
I'll attach a patch.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org