[
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