Open ankitchiplunkar opened 5 years ago
How are you writing avro in Faust?
We are using the FaustSerializer
from python-schema-registry-client
from schema_registry.client import SchemaRegistryClient
from schema_registry.serializers import FaustSerializer
# create an instance of the `SchemaRegistryClient`
client = SchemaRegistryClient(url=SCHEMA_REGISTRY)
avro_block_serializer = FaustSerializer(client, "blocks", block_schema)
# function used to register the codec
def avro_block_codec():
return avro_block_serializer
This serializer is then used to push in the agent
await topics.blocks_data_topic.send(key=str(block.blockNumber), value=block, value_serializer=avro_block_serializer)
It's unclear if AvroConverter is also used for your Kafka Connect key.converter, but if it is, then you would expect to see that error since your key is just a string.
Other than that, I would recommend using kafka-avro-console-consumer
rather than Kafka Connect to verify the Avro deserializer from Confluent does work.
Checklist
master
branch of Faust.Steps to reproduce
Tell us what you did to cause something to happen.
Expected behavior
The connector should be able to work properly
Actual behavior
The connector throws a cannot deserialize error
Full traceback
Versions