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
