HDFS-7634. Disallow truncation of Lazy persist files. (Contributed by Yi Liu)
This commit is contained in:
parent
c94c0d2c56
commit
c09c65b212
|
@ -735,6 +735,9 @@ Release 2.7.0 - UNRELEASED
|
||||||
|
|
||||||
HDFS-7637. Fix the check condition for reserved path. (Yi Liu via jing9)
|
HDFS-7637. Fix the check condition for reserved path. (Yi Liu via jing9)
|
||||||
|
|
||||||
|
HDFS-7634. Disallow truncation of Lazy persist files. (Yi Liu via
|
||||||
|
Arpit Agarwal)
|
||||||
|
|
||||||
Release 2.6.1 - UNRELEASED
|
Release 2.6.1 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -1952,6 +1952,14 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
|
||||||
dir.checkPathAccess(pc, iip, FsAction.WRITE);
|
dir.checkPathAccess(pc, iip, FsAction.WRITE);
|
||||||
}
|
}
|
||||||
INodeFile file = INodeFile.valueOf(iip.getLastINode(), src);
|
INodeFile file = INodeFile.valueOf(iip.getLastINode(), src);
|
||||||
|
final BlockStoragePolicy lpPolicy =
|
||||||
|
blockManager.getStoragePolicy("LAZY_PERSIST");
|
||||||
|
|
||||||
|
if (lpPolicy != null &&
|
||||||
|
lpPolicy.getId() == file.getStoragePolicyID()) {
|
||||||
|
throw new UnsupportedOperationException(
|
||||||
|
"Cannot truncate lazy persist file " + src);
|
||||||
|
}
|
||||||
// Opening an existing file for write. May need lease recovery.
|
// Opening an existing file for write. May need lease recovery.
|
||||||
recoverLeaseInternal(iip, src, clientName, clientMachine, false);
|
recoverLeaseInternal(iip, src, clientName, clientMachine, false);
|
||||||
// Truncate length check.
|
// Truncate length check.
|
||||||
|
|
Loading…
Reference in New Issue