'Debezium Outbox Event Router - error with nested objects in payload

I'm getting an error using the Debezium Outbox Event Router (Postgres connector) when the JSON payload has nested objects and i use the option expand.json.payload: true.

Payload example:

{"Id": "8767ee4f-ef77-4128-a4eb-9a8fc8490d64", "Data": {"Name": "John"}}

With this payload I get the following error in the connector:

Caused by: org.apache.kafka.common.errors.SerializationException: Error serializing Avro message
Caused by: org.apache.avro.SchemaParseException: Can't redefine: io.confluent.connect.avro.ConnectDefault

If the payload has only simple properties, then there is no issue. Example:

{"Id": "8767ee4f-ef77-4128-a4eb-9a8fc8490d64", "Data": "John"}

As far as I understand this has to with the fact the JSON expander does not create a named schema for the nested objects.

Is there any way to overcome this?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source