У нас есть схема 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, он работает нормально, но не с классом схемы.