HDFS-7634. Disallow truncation of Lazy persist files. (Contributed by Yi Liu)
This commit is contained in:
parent
0fdd09a895
commit
8adffbb2c8
|
@ -491,6 +491,9 @@ Release 2.7.0 - UNRELEASED
|
||||||
|
|
||||||
HDFS-7638: Small fix and few refinements for FSN#truncate. (yliu)
|
HDFS-7638: Small fix and few refinements for FSN#truncate. (yliu)
|
||||||
|
|
||||||
|
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
|
||||||
|
|
|
@ -2006,6 +2006,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