Extend SchemaRegistryUnit for schema interoperability

The platform-standalone can not be used with Python with Avro schemas because there is a difference in how the schema ID is being generated / interpret and e.g. the Python client does not work.

The schema registry has been updated to work with different clients but the client has been overlooked. In order for this to work with clients, other than java we need to extend SchemaRegistryUnit to accept requests as other clients from them.

Acceptance criteria:

  • No matter which client is used (.NET, Java, Python), the same schema used in all languages, should return the same schema ID
  • Value Headers are configurable per cluster, but default off, as the newer proxy clients will not be compatible with Value Headers

Tasks:

  • Find out how to import schema normalization logic into SchemaRegistryUnit

Reproduction path:

  • Start up standalone with 1 particular schema, e.g. Application / ApplicationLogEvent
  • Produce with one client (Python)
  • Consume with another client (Java)
Edited by Richard Bosch