HADOOP-10610. Upgrade S3n s3.fs.buffer.dir to support multi directories. Contrbuted by Ted Malaska.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1611490 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
642e5c137d
commit
136aa73c78
|
@ -33,6 +33,9 @@ Release 2.6.0 - UNRELEASED
|
|||
HADOOP-10733. Fix potential null dereference in CredShell. (Ted Yu via
|
||||
omalley)
|
||||
|
||||
HADOOP-10610. Upgrade S3n s3.fs.buffer.dir to support multi directories.
|
||||
(Ted Malaska via atm)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
BUG FIXES
|
||||
|
|
|
@ -50,6 +50,7 @@ import org.apache.hadoop.fs.FSInputStream;
|
|||
import org.apache.hadoop.fs.FileAlreadyExistsException;
|
||||
import org.apache.hadoop.fs.FileStatus;
|
||||
import org.apache.hadoop.fs.FileSystem;
|
||||
import org.apache.hadoop.fs.LocalDirAllocator;
|
||||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.fs.permission.FsPermission;
|
||||
import org.apache.hadoop.fs.s3.S3Exception;
|
||||
|
@ -225,6 +226,7 @@ public class NativeS3FileSystem extends FileSystem {
|
|||
private OutputStream backupStream;
|
||||
private MessageDigest digest;
|
||||
private boolean closed;
|
||||
private LocalDirAllocator lDirAlloc;
|
||||
|
||||
public NativeS3FsOutputStream(Configuration conf,
|
||||
NativeFileSystemStore store, String key, Progressable progress,
|
||||
|
@ -246,11 +248,10 @@ public class NativeS3FileSystem extends FileSystem {
|
|||
}
|
||||
|
||||
private File newBackupFile() throws IOException {
|
||||
File dir = new File(conf.get("fs.s3.buffer.dir"));
|
||||
if (!dir.mkdirs() && !dir.exists()) {
|
||||
throw new IOException("Cannot create S3 buffer directory: " + dir);
|
||||
if (lDirAlloc == null) {
|
||||
lDirAlloc = new LocalDirAllocator("fs.s3.buffer.dir");
|
||||
}
|
||||
File result = File.createTempFile("output-", ".tmp", dir);
|
||||
File result = lDirAlloc.createTmpFileForWrite("output-", LocalDirAllocator.SIZE_UNKNOWN, conf);
|
||||
result.deleteOnExit();
|
||||
return result;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue