>From a deserialization stability perspective, how safe is it to have an Avro 
>serialized object at the start of a byte stream? Let's assume the rest of the 
>stream, after this Avro serialized object, is filled with application layer 
>data which can be anything from zero byte to a few hundred megabytes? 

Essentially using the Avro object as a header and the "body" being a byte 
stream. To illustrate via a made-up case:

Offset - Data
==========
0x0000 - 1st byte of MyAvroHeader (serialized by Avro)
...
0x001F - Last byte of MyAvroHeader (serialized by Avro)
0x0020 - 1st byte of MyAppStream 
...              // (bytes/offsets continue till end-of-stream is reached)

I did a quick and simple serialization-only test (no IPC/RPC) using the C# 
version of Avro and this seems to work well. However, I wanted to hear from 
others if there are some issues with this approach. 

Regards
Sid

Reply via email to