[
https://issues.apache.org/jira/browse/SOLR-11956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16355538#comment-16355538
]
Munendra S N commented on SOLR-11956:
-------------------------------------
In the patch, If Exception is SolrException then dont wrap in RuntimeException.
{code:java}
try {
SolrIndexSearcher searcher = (SolrIndexSearcher)indexSearcher;
CollectorFactory collectorFactory = new CollectorFactory();
//Deal with boosted docs.
//We have to deal with it here rather then the constructor because
//because the QueryElevationComponent runs after the Queries are
constructed.
IntIntHashMap boostDocsMap = null;
Map context = null;
SolrRequestInfo info = SolrRequestInfo.getRequestInfo();
if(info != null) {
context = info.getReq().getContext();
}
if(this.boosted == null && context != null) {
this.boosted = (Map<BytesRef,
Integer>)context.get(QueryElevationComponent.BOOSTED_PRIORITY);
}
boostDocsMap = getBoostDocs(searcher, this.boosted, context);
return collectorFactory.getCollector(this.collapseField,
this.groupHeadSelector,
this.sortSpec,
this.nullPolicy,
this.hint,
this.needsScores,
this.size,
boostDocsMap,
searcher);
} catch (SolrException e) {
throw e;
} catch (Exception e) {
// catch all individual exceptions, Generic Exception handling is bad
throw new RuntimeException(e);
}
}
{code}
This block could throw IOException(No other Checked Exception). So, instead of
wrapping all Exception in RuntimeException, IOException could be wrapping in
RuntimeException.
> Collapsing on undefined field returns 500
> -----------------------------------------
>
> Key: SOLR-11956
> URL: https://issues.apache.org/jira/browse/SOLR-11956
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Munendra S N
> Priority: Trivial
> Attachments: SOLR-11956.patch
>
>
> When collapsing is specified on the undefined field then, the response
> returned has status 500 instead of 400.
> This is because of wrapping of SolrException to RuntimeException
> https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java#L377
> Then in request handler base, all RuntimeException are converted to
> SolrException with status 500
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]