[prev in list] [next in list] [prev in thread] [next in thread] 

List:       avro-user
Subject:    RE: Avro cross-version serialization format compatibility
From:       Scott Arthur <sarthur () salesforce ! com>
Date:       2013-02-27 17:48:17
Message-ID: E4DE7D0CBEFF844B9F8AB482EA65F08E25CA3223F3 () EXSFM-MB01 ! internal ! salesforce ! com
[Download RAW message or body]

Fantastic. Thank you!

-----Original Message-----
From: Doug Cutting [mailto:cutting@apache.org] 
Sent: Wednesday, February 27, 2013 12:47 PM
To: user@avro.apache.org
Subject: Re: Avro cross-version serialization format compatibility

I believe there have been no incompatible changes in the base object serialization \
format or schema language since Avro 1.0.  There was one incompatible change to the \
file format, from release 1.2 to 1.3.  The 1.2 file format is still readable by \
post-1.2 releases, but the 1.3+ file format is not readable by pre-1.3 releases.

The format of Avro release numbers are major.minor.bugfix.  Data formats should only \
change in major releases.  Minor-releases can have incompatible API changes but no \
format changes.  Bugfix releases may include back-compatible API changes but no \
incompatible API changes and no format changes.  In particular, new features may be \
introduced in bugfix releases.

The change to the file format in 1.3 was an exception to the above policy, the only \
exception to date.

So, to answer your question: Yes, an object serialized with 1.3 will be readable by \
1.7.4 and vice-versa.

Doug

On Wed, Feb 27, 2013 at 8:26 AM, Scott Arthur <sarthur@salesforce.com> wrote:
> Hi,
> 
> 
> 
> I have a question about serialization compatibility across Avro versions.
> I'm looking to deploy a product across my organization that uses Avro 
> to package messages.  Existing products in the organization already 
> have a customized Avro library a few versions old.  I've been trying 
> to determine if, for example, a message serialized with Avro 1.3.0 
> will be deserializeable with version 1.7.4 if they use the same schema definition.
> I found the Change Log page, and it looks like the last version where 
> there were "incompatible changes" outside the API was version 1.3.0.  
> However, I didn't find any resource on the Avro pages or the net that 
> specifically went through changes to the serialization format for different Avro \
> releases. So, is what I'm asking possible?  Is there any resource where I can 
> find information about breaking changes between Avro versions?
> 
> 
> 
> Thanks in advance,
> 
> Scott Arthur


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic