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

Chris Nauroth updated HDFS-4594:
--------------------------------

    Attachment: HDFS-4594.1.patch

I'm uploading a patch that trims the response Content-Length to the maximum 
actual available content in the file, based on the request offset and length 
parameters.  I've added 2 new tests to cover a length parameter larger than the 
file length and also a combination of offset and length parameters that exceed 
file length.
                
> WebHDFS open sets Content-Length header to what is specified by length 
> parameter rather than how much data is actually returned. 
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-4594
>                 URL: https://issues.apache.org/jira/browse/HDFS-4594
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: webhdfs
>    Affects Versions: 2.0.3-alpha
>            Reporter: Arpit Gupta
>            Assignee: Chris Nauroth
>         Attachments: HDFS-4594.1.patch
>
>
> This was noticed on 2.0.3 alpha
> Lets say we have a file of length x
> We make an webhdfs open call specifying length=x+1
> The response of the call redirected to the datanode sets the content length 
> header to value x+1 rather than x.
> Now this causes an error when the client tries to read the data.
> For the test i was using HttpResponse.getEntity().getContent()
> This failed with message "Premature end of Content-Length delimited message 
> body (expected: 71898; received: 71897"
> This was not seen in hadoop 1 as we did not set the content length header.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to