Skip to content

Releases: linkedin/avro-util

0.1.5

12 Feb 01:38
514d15e

Choose a tag to compare

Updated fast serializer generator to optimize the enum schema generat…

0.1.4: Added a new method to return buffered binary encoder (#19)

31 Jan 18:32
eab8395

Choose a tag to compare

* Added a new method to return buffered binary encoder

In Avro-1.7 and above, the default BinaryEncoder implementation is buffered,
which has improved the serialization greatly, but this optimization is
absent in Avro-1.4.
To improve the serialization performance in Avro-1.4, this code change back-ports
the buffered binary encoder implementation from Avro-1.8 to be used
in Avro-1.4.
By running the test: SerDeMicroBenchmark#testFastAvroSerialization with Avro-1.4,
the performance is improved by more than 40% with the new buffered binary encoder (5ms vs 9ms).
With the buffered binary encoder, the fast serialization performance across
all the Avro versions are very similar now.

This code change doesn't change the signature of AvroCompatibilityHelper#newBinaryEncoder,
since we would like to keep it backward compatible, instead it adds a new method:
AvroCompatibilityHelper#newBufferedBinaryEncoder to return a `Encoder` instance instead
of `BinaryEncoder`.
The reason of not returning `BinaryEncoder` in the new method is that `BinaryEncoder` has
different kinds of contructors across different Avro versions, and it is not easy to backport
the buffered binary encoder to work with BinaryEncoder interface in Avro-1.4.

* Fixed Javadoc errors

0.1.3: Fast Serializer support for Avro-1.4 (#17)

31 Jan 04:37
c95786f

Choose a tag to compare

* Fast Serializer support for Avro-1.4

This code change adds support for fast serializer of Avro-1.4.
Now, fast serializer/de-serializer are available for
Avro 1.4/1.7/1.8.

This special logic for Avro-1.4 in Fast Serializer generation
is for enum/fixed since those two types in Avro-1.4 are implementing
differently from other versions, and the corresponding Schema couldn't
be extracted from the generic implementations (GenericData.EnumSymbol
and GenericData.Fixed).

* Added comment in `SchemaAssistant#isNamedType` method

0.1.2

15 Nov 01:00

Choose a tag to compare

0.1.2