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]

Reply via email to