Ok, I read the patch and JIRA issue a bit more thoroughly. Schema
normalization just tells you if two schemas differ only in the unimportant
bits.

As I understand it, subsumes() will tell you if a schema is a strict
superset of another.
i.e.,
if S1 is a record of { a:int, b:string }, and S2 is a record of { a:int,
b:string, c:int }, then S2.subsumes(S1) would return true but not vice
versa. Is that correct?

The functionality I need, is to guarantee that two writers who write to a
common data store with possibly different schemas can still read one
another's data without a deserialization error. They need to agree ahead of
time that they're going to write data with schemas "close enough" that the
other one can always deserialize the data into their preferred format.

S1 and S2 above do not meet this criterion, because S2 cannot read record
written with S1. It doesn't know how to instantiate field 'c'.

However, S1 and S3 = { a:int, b:string, c:int default 0 } would meet my
criterion.

Does AVRO-816 help me answer this question?
Thanks,
- Aaron

On Thu, Jan 31, 2013 at 10:17 PM, Aaron Kimball <[EMAIL PROTECTED]>wrote: