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

Mike Sokolov updated SOLR-141:
------------------------------

    Attachment: error-response.patch

In this patch, SolrDispatchFilter.sendError() uses the ResponseWriter to format 
an error response.

> Errors/Exceptions should be formated by ResponseWriter
> ------------------------------------------------------
>
>                 Key: SOLR-141
>                 URL: https://issues.apache.org/jira/browse/SOLR-141
>             Project: Solr
>          Issue Type: Wish
>            Reporter: Hoss Man
>             Fix For: 3.2
>
>         Attachments: SOLR-141-sendError.patch, error-response.patch, 
> solr-exception-writer-solr-1.2.diff, solr-exception-writer-v2.diff, 
> solr-exception-writer-v3.diff
>
>
> Whenever possible, the Solr Dispatcher should to let the ResponseWriter 
> format Exceptions using the format the user expects -- this should in no way 
> change the fact that Exceptions currently generate non 200 HTTP status codes, 
> nor should it prevent the Dispatcher from using the exception message as the 
> HTTP status message -- but clients that want the full details of the error 
> should be able to parse them in the format they expected based on the request.
> this would also give RequestHandlers the oportunity to return "partial" 
> results - by adding both whatever results they have to the Response as well 
> as the Exception they encountered.
> situations where this can't happen are obviously:
>   * Exception thrown by ResponseWriter
>   * Exception thrown so early in the request thta the DIspather doesn't know 
> which ResposneWriter the client wanted.
> ...in those cases, plain text is a wise choice.
> thing that would probably need to be done to make this work:
> 1) if the Dispatcher catches an exception, it should call 
> SolrQueryResponse.setException, set the HTTP status code/message as it 
> currently does, but then hand off to the ResponseWriter.
> 2) Dispatcher needs to check SolrQueryResponse.getException and set the HTTP 
> status code/message just like if it caught the exception itself.
> 3) all of the ResponseWriters should start looking at 
> SolrQueryResponse.getException if they aren't already, and formatting it in a 
> usefull way.
> 4) if the ResponseWriter throws an exception, Dispatcher needs to return a 
> nice plain text error page
> extension to this idea... add a new method to ResponseWriter to generate a 
> generic error message in the appropriate format that Dispatcher can use if 
> the ResponseWriter throws an exception (as a backup before resorting to plain 
> text)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to