Получение разных данных пост Авро десериализации - PullRequest
0 голосов
/ 10 апреля 2019

У нас есть схема avro, и с ее помощью мы создали классы схемы Java. Мы сериализуем и десериализуем данные, используя эти классы.

AvroSerializer<T> tSerializer = AvroSerializer.specificInstance(<Schema>);
tSerializer.toByteArray(<data>);

AvroDeSerializer<T> tDeserilizer= AvroDeSerializer.specificInstance(<Schema>);

tDeserilizer.deserialize(bytes2, 0, bytes2.length, false);

Данные до и после публикации изменились, когда мы прекратили повторное использование двоичного кодировщика, мы начали получать правильные данные после десериализации.

tSerializer.toByteArray(<data>, reuse = false); // This line solved the issue.

Может кто-нибудь сказать мне, почему повторное использование вызовет проблему.

Если мы используем GenericRecord Avro Serializer / Deserializer, он работает нормально, но не с классом схемы.

...