Repository: hadoop Updated Branches: refs/heads/trunk d8f670ff2 -> 57198bc51
HADOOP-15962. The buffer size is small when unpacking tar archives. Contributed by BELUGA BEHR. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/57198bc5 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/57198bc5 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/57198bc5 Branch: refs/heads/trunk Commit: 57198bc51122a36db8cb4788fcb7b55edc788b3b Parents: d8f670f Author: Akira Ajisaka <[email protected]> Authored: Fri Dec 28 15:38:23 2018 +0900 Committer: Akira Ajisaka <[email protected]> Committed: Fri Dec 28 15:38:47 2018 +0900 ---------------------------------------------------------------------- .../java/org/apache/hadoop/fs/FileUtil.java | 27 +++++--------------- 1 file changed, 7 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/57198bc5/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java index 5f01d43..51dd0e0 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java @@ -918,12 +918,13 @@ public class FileUtil { TarArchiveInputStream tis = null; try { if (gzipped) { - inputStream = new BufferedInputStream(new GZIPInputStream( - new FileInputStream(inFile))); + inputStream = new GZIPInputStream(new FileInputStream(inFile)); } else { - inputStream = new BufferedInputStream(new FileInputStream(inFile)); + inputStream = new FileInputStream(inFile); } + inputStream = new BufferedInputStream(inputStream); + tis = new TarArchiveInputStream(inputStream); for (TarArchiveEntry entry = tis.getNextTarEntry(); entry != null;) { @@ -940,13 +941,9 @@ public class FileUtil { TarArchiveInputStream tis = null; try { if (gzipped) { - inputStream = new BufferedInputStream(new GZIPInputStream( - inputStream)); - } else { - inputStream = - new BufferedInputStream(inputStream); + inputStream = new GZIPInputStream(inputStream); } - + inputStream = new BufferedInputStream(inputStream); tis = new TarArchiveInputStream(inputStream); for (TarArchiveEntry entry = tis.getNextTarEntry(); entry != null;) { @@ -1002,17 +999,7 @@ public class FileUtil { return; } - int count; - byte data[] = new byte[2048]; - try (BufferedOutputStream outputStream = new BufferedOutputStream( - new FileOutputStream(outputFile));) { - - while ((count = tis.read(data)) != -1) { - outputStream.write(data, 0, count); - } - - outputStream.flush(); - } + org.apache.commons.io.FileUtils.copyToFile(tis, outputFile); } /** --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
