[ 
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]

Reply via email to