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]

Reply via email to