You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Mark Peng (JIRA)" <ji...@apache.org> on 2014/11/26 04:45:12 UTC

[jira] [Updated] (SOLR-6658) SearchHandler should accept POST requests with JSON data in content stream for customized plug-in components

     [ https://issues.apache.org/jira/browse/SOLR-6658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Peng updated SOLR-6658:
----------------------------
    Attachment: SOLR-6658.patch

> SearchHandler should accept POST requests with JSON data in content stream for customized plug-in components
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-6658
>                 URL: https://issues.apache.org/jira/browse/SOLR-6658
>             Project: Solr
>          Issue Type: Improvement
>          Components: search, SearchComponents - other
>    Affects Versions: 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1, 4.9, 4.9.1, 4.10, 4.10.1
>            Reporter: Mark Peng
>            Assignee: Noble Paul
>         Attachments: SOLR-6658.patch, SOLR-6658.patch
>
>
> This issue relates to the following one:
> *Return HTTP error on POST requests with no Content-Type*
> [https://issues.apache.org/jira/browse/SOLR-5517]
> The original consideration of the above is to make sure that incoming POST requests to SearchHandler have corresponding content-type specified. That is quite reasonable, however, the following lines in the patch cause to reject all POST requests with content stream data, which is not necessary to that issue:
> {code}
> Index: solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
> ===================================================================
> --- solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java	(revision 1546817)
> +++ solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java	(working copy)
> @@ -22,9 +22,11 @@
>  import java.util.List;
>  
>  import org.apache.solr.common.SolrException;
> +import org.apache.solr.common.SolrException.ErrorCode;
>  import org.apache.solr.common.params.CommonParams;
>  import org.apache.solr.common.params.ModifiableSolrParams;
>  import org.apache.solr.common.params.ShardParams;
> +import org.apache.solr.common.util.ContentStream;
>  import org.apache.solr.core.CloseHook;
>  import org.apache.solr.core.PluginInfo;
>  import org.apache.solr.core.SolrCore;
> @@ -165,6 +167,10 @@
>    {
>      // int sleep = req.getParams().getInt("sleep",0);
>      // if (sleep > 0) {log.error("SLEEPING for " + sleep);  Thread.sleep(sleep);}
> +    if (req.getContentStreams() != null && req.getContentStreams().iterator().hasNext()) {
> +      throw new SolrException(ErrorCode.BAD_REQUEST, "Search requests cannot accept content streams");
> +    }
> +    
>      ResponseBuilder rb = new ResponseBuilder(req, rsp, components);
>      if (rb.requestInfo != null) {
>        rb.requestInfo.setResponseBuilder(rb);
> {code}
> We are using Solr 4.5.1 in our production services and considering to upgrade to 4.9/5.0 to support more features. But due to this issue, we cannot have a chance to upgrade because we have some important customized SearchComponent plug-ins that need to get POST data from SearchHandler to do further processing.
> Therefore, we are requesting if it is possible to remove the content stream constraint shown above and to let SearchHandler accept POST requests with *Content-Type: application/json* to allow further components to get the data.
> Thank you.
> Best regards,
> Mark Peng



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org