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

Tsz Wo (Nicholas), SZE commented on HDFS-814:
---------------------------------------------

> an we also enhance DFSClient.getFileInfo() to return the current length of a 
> file (for a file that is being written into)... 

I think it may be a good idea to change DFSClient.getFileInfo().  But we cannot 
easily update stat.length since there is no api to update the length in 
FileStatus.

> The benefit of this approach might reduce confusion to users...especially if 
> DFSClient.getFileInfo() and DfsClient.getFileLength() returns different file 
> sizes for the same file. Also, I am guessing that this will not introduce any 
> new performance impact.

There is no such method called DfsClient.getFileLength(). Do you mean 
DfsClient.DFSInputStream.getFileLength()?  This method is not visible since 
DfsClient.DFSInputStream is package private (and I change it to private in my 
patch).

For the performance, it is hard to estimate since there are two additional 
round trips (one to the NN and one to a DN) for DFSClient.open(..).

> Add an api to get the visible length of a DFSDataInputStream.
> -------------------------------------------------------------
>
>                 Key: HDFS-814
>                 URL: https://issues.apache.org/jira/browse/HDFS-814
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: hdfs client
>            Reporter: Tsz Wo (Nicholas), SZE
>            Assignee: Tsz Wo (Nicholas), SZE
>             Fix For: 0.21.0, 0.22.0
>
>         Attachments: h814_20091221.patch
>
>
> Hflush guarantees that the bytes written before are visible to the new 
> readers.  However, there is no way to get the length of the visible bytes.  
> The visible length is useful in some applications like SequenceFile.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to