[
https://issues.apache.org/jira/browse/HDFS-6898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14114847#comment-14114847
]
Zesheng Wu commented on HDFS-6898:
----------------------------------
Oh, sorry, I missed that detail in the patch.
One more question, in the append() method :
{code}
ReplicaBeingWritten newReplicaInfo = new ReplicaBeingWritten(
replicaInfo.getBlockId(), replicaInfo.getNumBytes(), newGS,
v, newBlkFile.getParentFile(), Thread.currentThread(),
estimateBlockLen);
{code}
Here reserves {{estimateBlockLen}} bytes
{code}
v.reserveSpaceForRbw(estimateBlockLen - replicaInfo.getNumBytes());
{code}
Here reserves {{estimateBlockLen - replicaInfo.getNumBytes()}} bytes
What's the difference between these two?
> DN must reserve space for a full block when an RBW block is created
> -------------------------------------------------------------------
>
> Key: HDFS-6898
> URL: https://issues.apache.org/jira/browse/HDFS-6898
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: datanode
> Affects Versions: 2.5.0
> Reporter: Gopal V
> Assignee: Arpit Agarwal
> Attachments: HDFS-6898.01.patch, HDFS-6898.03.patch,
> HDFS-6898.04.patch, HDFS-6898.05.patch
>
>
> DN will successfully create two RBW blocks on the same volume even if the
> free space is sufficient for just one full block.
> One or both block writers may subsequently get a DiskOutOfSpace exception.
> This can be avoided by allocating space up front.
--
This message was sent by Atlassian JIRA
(v6.2#6252)