From d8f16178d3f21b4f9d17da12e7aa61613fc2c27a Mon Sep 17 00:00:00 2001 From: Simon Willnauer Date: Tue, 2 Dec 2014 21:20:53 +0100 Subject: [PATCH] Override write(byte[] b, int off, int len) in FilterOutputStream for better performance Closes #8748 --- .../elasticsearch/common/blobstore/fs/FsBlobContainer.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobContainer.java b/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobContainer.java index bd66ad3b564..912dd712e70 100644 --- a/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobContainer.java +++ b/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobContainer.java @@ -89,6 +89,10 @@ public class FsBlobContainer extends AbstractBlobContainer { public OutputStream createOutput(String blobName) throws IOException { final File file = new File(path, blobName); return new BufferedOutputStream(new FilterOutputStream(new FileOutputStream(file)) { + + @Override // FilterOutputStream#write(byte[] b, int off, int len) is trappy writes every single byte + public void write(byte[] b, int off, int len) throws IOException { out.write(b, off, len);} + @Override public void close() throws IOException { super.close();