[ https://issues.apache.org/jira/browse/HADOOP-5143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12704338#action_12704338 ]
Qi Liu commented on HADOOP-5143: -------------------------------- available() in Hadoop 0.18.3 will report negative numbers if the file size is over 2GB, which obviously is a bug. available() should always return a number greater or equal to 0, agree? > Add a method to get file length for Seekable, FSDataInputStream and libhdfs > --------------------------------------------------------------------------- > > Key: HADOOP-5143 > URL: https://issues.apache.org/jira/browse/HADOOP-5143 > Project: Hadoop Core > Issue Type: New Feature > Components: dfs, fs, libhdfs > Affects Versions: 0.18.2 > Reporter: Qi Liu > Attachments: HADOOP-5143-2.patch, HADOOP-5143.patch, hadoop.patch > > > When open any seekable file, it should be able to get the length of the file > via Seekable interface, since the seek method should be able to detect > seeking beyond the end of file. Such interface can benefit distributed file > systems by saving a network round-trip of > FileSystem.getFileStatus(Path).getLen() for any open file. > In libhdfs, such interface should also be exposed to make native program > taking advantage of this change. > I have the changes locally for all FSInputStream concrete classes. The change > can be considered trivial, since some of the FSInputStream classes already > have a method named getFileLength(), or a member field named size/length/end. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.