View Source Avrogen (avrogen v0.7.1)
Provides functions for encoding and decoding avro records.
Kafka has another approach to schemaless, which prepends a schema ID -- to be investigated; hopefully we can sort out the seeming incompatibilities at some point, once and for all, without too many workarounds.
The proper approach is either:
- prepend C3 01 + 8 byte fingerprint to the binary (Avro single-object encoding)
- prepend 00 + 4 byte schema ID (Confluent Schema Registry Wire Format)
Finally, the same message is encoded differently in Python and in Elixir (fastavro appears to have trouble roundtripping records). The decoded versions largely agree, but have some subtle differences. This needs to be investigated. It might require some small schema tweaks to avoid this kind of situation.