From 40a3d99a2323f65d3ba95050ca329047705b812b Mon Sep 17 00:00:00 2001 From: Jakob Homan Date: Fri, 27 Jul 2012 19:16:37 -0700 Subject: [PATCH] Don't make a copy of the buffer, as it may shrink down to one elemnent. Also, use a bufferedoutputstream. --- .../voldemort/store/readonly/fetcher/HdfsFetcher.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/contrib/hadoop-store-builder/src/java/voldemort/store/readonly/fetcher/HdfsFetcher.java b/contrib/hadoop-store-builder/src/java/voldemort/store/readonly/fetcher/HdfsFetcher.java index cf9cbb7603..0b58cd5dd4 100644 --- a/contrib/hadoop-store-builder/src/java/voldemort/store/readonly/fetcher/HdfsFetcher.java +++ b/contrib/hadoop-store-builder/src/java/voldemort/store/readonly/fetcher/HdfsFetcher.java @@ -16,6 +16,7 @@ package voldemort.store.readonly.fetcher; +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -200,16 +201,16 @@ private void copyFileWithCheckSum(FileSystem fs, OutputStream output = null; try { input = fs.open(source); - output = new FileOutputStream(dest); + output = new BufferedOutputStream(new FileOutputStream(dest)); byte[] buffer = new byte[bufferSize]; while(true) { int read = input.read(buffer); if(read < 0) { break; - } else if(read < bufferSize) { - buffer = ByteUtils.copy(buffer, 0, read); + } else { + output.write(buffer, 0, read); } - output.write(buffer); + if(fileCheckSumGenerator != null) fileCheckSumGenerator.update(buffer); if(throttler != null)