Yang Jie created HADOOP-20065:
---------------------------------
Summary: HarFileSystem#createFile and #appendFile return builders
of the underlying file system and bypass its read-only checks
Key: HADOOP-20065
URL: https://issues.apache.org/jira/browse/HADOOP-20065
Project: Hadoop Common
Issue Type: Bug
Components: fs
Reporter: Yang Jie
HarFileSystem is read-only: create(), append() and the other write operations
throw "Har: ... not allowed". createFile(Path) and appendFile(Path), however,
return {{fs.createFile(path)}} and {{fs.appendFile(path)}}, builders of the
underlying file system, so build() writes there. For a path without a scheme,
which HAR treats as a path inside the archive, {{harFs.createFile(new
Path("/user/foo/a.har/x")).build()}} creates or truncates /user/foo/a.har/x on
the underlying file system, and appendFile appends to an existing file there. A
har:// path fails with an unchecked "Wrong FS" IllegalArgumentException instead
of an IOException.
The two overrides were copied from FilterFileSystem in HDFS-11170. The fix
removes them, so the FileSystem defaults build through HarFileSystem and fail
with an IOException, and adds both methods to MustNotImplement in
TestHarFileSystem. HADOOP-16107 fixed the same problem in ChecksumFileSystem.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]