All of the examples that I’ve seen have a consumer specifying a reader schema 
for the lifetime of the consumer, which seems to lead some into believing that 
is the only possible or the only right way to implement a consumer.

However, I do not find any such requirement in the Avro specification (of 
course, as long as the reader/writer schema are equivalent), and no such 
requirement in the implementation.

The ability to specify reader schema dynamically, as late as possible (ie just 
before a message is processed), ought to provide some desirable benefits, eg 
providing updated reader schema without having to redeploy, restart, or even 
signal a consumer.

Is there anything in the specification or implementation that I have missed 
that discourages specifying reader schema as late as possible with respect to 
the correct application of schema by Avro?

Thank you.

--Mark

Reply via email to