0dd8956f2e
Contributed by Xiaoyu Yao. Contains HDFS-14892. Close the output stream if createWrappedOutputStream() fails Copying file through the FsShell command into an HDFS encryption zone where the caller lacks permissions is leaks a temp ._COPYING file and potentially a wrapped stream unclosed. This is a convergence of a fix for S3 meeting an issue in HDFS. S3: a HEAD against a file can cache a 404, -you must not do any existence checks, including deleteOnExit(), until the file is written. Hence: HADOOP-16490, only register files for deletion the create worked and the upload is not direct. HDFS-14892. HDFS doesn't close wrapped streams when IOEs are raised on create() failures. Which means that an entry is retained on the NN. -you need to register a file with deleteOnExit() even if the file wasn't created. This patch: * Moves the deleteOnExit to ensure the created file get deleted cleanly. * Fixes HDFS to close the wrapped stream on failures. |
||
---|---|---|
.. | ||
dev-support | ||
src | ||
pom.xml |