avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From MCKEAG Tory <tory.mck...@alstom.com>
Subject Java / C++ interop and strings?
Date Wed, 02 Nov 2016 22:24:04 GMT
Hi, I have some data I've serialized with Java and would like to deserialize in a C++ application,
using GenericRecord in both languages.  I've discovered that before each string field, the
Java serialization is putting out an extra byte with the value of '2' (or the start text Unicode
character?  I have no idea why this byte is there).  After that byte, it contains the count
of characters in the string and of course the string data itself.

The C++ decoder layer is choking on this extra byte.   When I try to serialize the same data
using C++, the extra byte isn't there and everything works.  Also, when I deserialize the
data written WITH the extra byte using Java, it seems to work fine (I guess makes sense given
the extra byte was added by the Java serializer).

I've been testing using the 1.8.1 official release of both the Java and C++ libraries.  Any
idea what's going on?  I've been looking for some kind of config options on the encoders/decoders
for either language, didn't find much.  Any specific additional info I should provide?

CONFIDENTIALITY : This e-mail and any attachments are confidential and may be privileged.
If you are not a named recipient, please notify the sender immediately and do not disclose
the contents to another person, use it for any purpose or store or copy the information in
any medium.

View raw message