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

David Smiley updated SOLR-2535:
-------------------------------

    Attachment: SOLR-2535_fix_admin_file_handler_for_directory_listings.patch

The attached patch fixes this bug and adds new tests for a directory listing 
and getting a file. This bug was triggered with the introduction of SOLR-2263 
in which RawResponseWriter was changed to implement BinaryQueryResponseWriter. 
This wasn't a problem in and of itself, but the SolrDispatchFilter checks if a 
response writer is the binary variant and if so calls the 
write(OutputStream...) variant. But the responses from ShowFileRequestHandler 
that list directory contents are incompatible with the RawResponseWriter if 
RawResponseWriter's write(OutputStream...) method is uses, instead of a 
character based stream. The solution was to move the defaulting of the "raw" 
response type from ShowFileRequestHandler.init() into into a condition within 
handleRequestBody() where it knows the response is a file.

> In Solr 3.2 and trunk the admin/file handler fails to show directory listings
> -----------------------------------------------------------------------------
>
>                 Key: SOLR-2535
>                 URL: https://issues.apache.org/jira/browse/SOLR-2535
>             Project: Solr
>          Issue Type: Bug
>          Components: SearchComponents - other
>    Affects Versions: 3.1, 3.2, 4.0
>         Environment: java 1.6, jetty
>            Reporter: Peter Wolanin
>             Fix For: 3.3
>
>         Attachments: 
> SOLR-2535_fix_admin_file_handler_for_directory_listings.patch
>
>
> In Solr 1.4.1, going to the path solr/admin/file I see an XML-formatted 
> listing of the conf directory, like:
> {noformat}
> <response>
> <lst name="responseHeader"><int name="status">0</int><int 
> name="QTime">1</int></lst>
> <lst name="files">
>   <lst name="elevate.xml"><long name="size">1274</long><date 
> name="modified">2011-03-06T20:42:54Z</date></lst>
>   ...
> </lst>
> </response>
> {noformat}
> I can list the xslt sub-dir using solr/admin/files?file=/xslt
> In Solr 3.1.0, both of these fail with a 500 error:
> {noformat}
> HTTP ERROR 500
> Problem accessing /solr/admin/file/. Reason:
>     did not find a CONTENT object
> java.io.IOException: did not find a CONTENT object
> {noformat}
> Looking at the code in class ShowFileRequestHandler, it seem like 3.1.0 
> should still handle directory listings if not file name is given, or if the 
> file is a directory, so I am filing this as a bug.

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