[ https://issues.apache.org/jira/browse/HDFS-2288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13236220#comment-13236220 ]
Eli Collins commented on HDFS-2288: ----------------------------------- There's two definition of visible length, or rather we're using the same name for two things: 1. The above definition by Konst and the design doc which defines it as property of the replica: {quote} visible length is the "number of bytes that have been acknowledged by the downstream DataNodes". It is replica (not block) specific, meaning it can be different for different replicas at a given time. In the document it is called BA (bytes acknowledged), compared to BR (bytes received). {quote} 2. Nicholas' definition in HDFS-814 and DFSClient#getVisibleLength which defines it as a property of a file: {quote} The visible length is the length that *all* datanodes in the pipeline contain at least such amount of data. Therefore, these data are visible to the readers. {quote} According to this definition the visible length of a file is the floor of all visible lengths of all the replicas of the last block. It's a static property set on open, eg is not updated when a writer calls hflush. Also DFSInputStream#readBlockLength returns the 1st visible length of a replica it finds, so it seems possible (though unlikely) in a failure scenario it could return a length that was longer than what all replicas had. Perhaps we should rename DFSClient#getVisibleLength? > Replicas awaiting recovery should return a full visible length > -------------------------------------------------------------- > > Key: HDFS-2288 > URL: https://issues.apache.org/jira/browse/HDFS-2288 > Project: Hadoop HDFS > Issue Type: Bug > Components: data-node > Affects Versions: 0.23.0 > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Priority: Critical > Attachments: hdfs-2288.txt > > > Currently, if the client calls getReplicaVisibleLength for a RWR, it returns > a visible length of 0. This causes one of HBase's tests to fail, and I > believe it's incorrect behavior. -- 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