[ 
https://issues.apache.org/jira/browse/HDFS-3577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13403521#comment-13403521
 ] 

Alejandro Abdelnur commented on HDFS-3577:
------------------------------------------

@Eli, it doesn't look like, doing a quick check to the 
*ByteRangeInputStream.getInputStream()* method the impl is different, no 
exception begin thrown:

{code}
      final String cl = connection.getHeaderField(StreamFile.CONTENT_LENGTH);
      filelength = (cl == null) ? -1 : Long.parseLong(cl);
      in = connection.getInputStream();
{code}

The *ByteRangeInputClass* seems that had some significant rewriting in Hadoop2.
                
> webHdfsFileSystem fails to read files with chunked transfer encoding
> --------------------------------------------------------------------
>
>                 Key: HDFS-3577
>                 URL: https://issues.apache.org/jira/browse/HDFS-3577
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha
>            Reporter: Alejandro Abdelnur
>            Priority: Blocker
>             Fix For: 2.0.1-alpha
>
>
> If reading a file large enough for which the httpserver running 
> webhdfs/httpfs uses chunked transfer encoding (more than 24K in the case of 
> webhdfs), then the WebHdfsFileSystem client fails with an IOException with 
> message *Content-Length header is missing*.
> It looks like WebHdfsFileSystem is delegating opening of the inputstream to 
> *ByteRangeInputStream.URLOpener* class, which checks for the *Content-Length* 
> header, but when using chunked transfer encoding the *Content-Length* header 
> is not present and  the *URLOpener.openInputStream()* method thrown an 
> exception.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to