BELUGA BEHR created AVRO-2052: --------------------------------- Summary: Remove org.apache.avro.file.DataFileWriter Double Buffering Key: AVRO-2052 URL: https://issues.apache.org/jira/browse/AVRO-2052 Project: Avro Issue Type: Improvement Components: java Affects Versions: 1.8.2, 1.7.7 Reporter: BELUGA BEHR Priority: Trivial
{code:title=org.apache.avro.file.DataFileWriter} private void init(OutputStream outs) throws IOException { this.underlyingStream = outs; this.out = new BufferedFileOutputStream(outs); EncoderFactory efactory = new EncoderFactory(); this.vout = efactory.binaryEncoder(out, null); dout.setSchema(schema); buffer = new NonCopyingByteArrayOutputStream( Math.min((int)(syncInterval * 1.25), Integer.MAX_VALUE/2 -1)); this.bufOut = efactory.binaryEncoder(buffer, null); if (this.codec == null) { this.codec = CodecFactory.nullCodec().createInstance(); } this.isOpen = true; } {code} It's clear here that both streams are writing to a buffered destination, {{ BufferedFileOutputStream}} and {{ByteArrayOutputStream}} therefore there is no reason to need a buffered encoder and instead, write directly to the buffered streams with {{directBinaryEncoder}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)