You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Alexandre Rafalovitch (JIRA)" <ji...@apache.org> on 2016/10/08 04:22:20 UTC

[jira] [Closed] (SOLR-2527) When an indexing request is bad, SolrJ just throws an error message - "Bad Request" but does not tell you what about the request was wrong.

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

Alexandre Rafalovitch closed SOLR-2527.
---------------------------------------
    Resolution: Resolved

I am assuming this issue was resolved in the last 5 versions of Solr and there seem to be nobody contradicting this. If it still happens with the latest version, a new case would be more appropriate.

> When an indexing request is bad, SolrJ just throws an error message - "Bad Request" but does not tell you what about the request was wrong.
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-2527
>                 URL: https://issues.apache.org/jira/browse/SOLR-2527
>             Project: Solr
>          Issue Type: Improvement
>          Components: clients - java
>    Affects Versions: 1.4.1
>         Environment: Windows, Linux 
>            Reporter: Saroj Kumar
>            Priority: Minor
>              Labels: Solrj
>         Attachments: solr-bad-req-patch.txt
>
>
> When an indexing request is bad, SolrJ just throws an error message - "Bad Request" but does not tell you what about the request was wrong.
> In these cases, developer has to look at the Solr Server logs to find out what was bad with request. 
> It would be very helpful if SolrJ could show that error message as well. This would provide an easy way for developers to troubleshoot.
> If you use anything like POSTER or some other tool to post to Solr then you would notice that you get the proper error message back from server in the response body. It confirms that Solr Server is providing all the debug info to client but it is client which is not showing the message.
> An example of bad request can be: 
> when you are adding a document which is missing a mandatory field.
> SolrJ would dump this on console
> ---------------
> Bad Request
> request: http://localhost:8080/solr/update?wt=xml&version=2.2
> 	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:440)
> 	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
> 	at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
> 	at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:74)
> 	at TestClient.main(TestClient.java:50)
> If we could provide something like following then it would be more helpful as you can easily notice that a mandatory field is missing.
> Bad Request
> request: http://localhost:8080/solr/update?wt=xml&version=2.2
> 	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:440)
> 	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
> 	at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
> 	at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:74)
> 	at TestClient.main(TestClient.java:50)
> responseBody: 
> <html><head><title>Apache Tomcat/6.0.32 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 400 - Document [null] missing required field: bus_id_with_bus_unit_sku</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Document [null] "missing required field: bus_id_with_bus_unit_sku"</u></p><p><b>description</b> <u>The request sent by the client was syntactically incorrect (Document [null] missing required field: bus_id_with_bus_unit_sku).</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.32</h3></body></html>
> It is very easy to do this with a minimal change in CommonsHttpSolrServer
> Attached is a patch which has the modified code and a test case to assert that response body is being shown in the error message



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