Bogdan Raducanu created HDFS-9516:
-------------------------------------

             Summary: truncate file fails with data dirs on multiple disks
                 Key: HDFS-9516
                 URL: https://issues.apache.org/jira/browse/HDFS-9516
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 2.7.1
            Reporter: Bogdan Raducanu


FileSystem.truncate returns false (no exception) but the file is never closed 
and not writable after this.

It seems to be because of copy on truncate which is used because the system is 
in upgrade state. In this case a rename between devices is attempted.
See attached log and repro code.
Probably also affects truncate snapshotted file when copy on truncate is also 
used.
Possibly it affects not only truncate but any block recovery.


I think the problem is in updateReplicaUnderRecovery
{code}
ReplicaBeingWritten newReplicaInfo = new ReplicaBeingWritten(
            newBlockId, recoveryId, rur.getVolume(), blockFile.getParentFile(),
            newlength);
{code}
blockFile is created with copyReplicaWithNewBlockIdAndGS which is allowed to 
choose any volume so rur.getVolume() is not where the block is located.
 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to