We are in the process of figuring out avro usage in a streaming/queue world.

As I understand avro aliases they are typically used by *reader* schemas to
rename fields. (I.e., reader can expect "first-name" string and use an
alias "firts-name" to deal with old writer's that had it mispelled in the
original writer schema.)

However we would like to not have to update reader code to deal with new
writers. It seems that (old) readers could look at the new writer-defined
aliases and leverage them for forward compatibility.

Concrete example: my old schema expects "firts-name"; my new schema fixes
this by introducing "first-name" with the "firts-name" as an alias. Instead
of being obligated to update my old reader, couldn't it notice this alias
and *invert* the aliasing as it reads the data?

Is there a fundamental reason that this isn't part of the avro java impl,
or spec documentation?

Reply via email to