Add the multi version schema support (#3876)
### Motivation
Fix #3742
In order to decode the message correctly by AVRO schema, we need to know the schema what the message is.
### Modification
- Introduced Schema Reader and Schema Writer for StructSchema.
- Reader is used to decode message
- Writer is used to encode message
- The implementations of StructSchema, provides their schema reader and writer implementations.
- Introduced a schema reader cache for caching the readers for different schema versions.
4 files changed
tree: e09cc45cb23ce6322fdfdbfad86f244ef06c2d16
- pulsar-io/