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)