Set value.converter=io.confluent.kafka.connect.json.JsonSchemaConverter and value.converter.schema.registry.url in connector or worker config
Set value.converter.use.optional.for.nonrequired=true to map optional fields correctly from JSON Schema semantics to Connect schema semantics
Configure value.converter.auto.register.schemas=true during development; switch to value.converter.auto.register.schemas=false in production and pre-register schemas via the Schema Registry API
Set compatibility mode to BACKWARD on the subject in Schema Registry so new schema versions can be read by consumers using the previous version
Use schema.id field in the wire format (magic byte + schema ID + payload) by ensuring the converter is version-compatible with the Schema Registry instance
Known gotchas
If the connector restarts with a schema change and auto.register.schemas=false, the converter throws a RestClientException on the first record; pre-register all expected schema evolutions before deploying
Using JsonConverter (non-Schema Registry) and JsonSchemaConverter interchangeably on the same topic corrupts the wire format because one embeds a schema ID magic byte and the other does not
Deeply nested JSON objects can generate Connect schemas that exceed the default max depth; set value.converter.object.additional.properties=false to prevent unbounded schema growth from arbitrary JSON payloads
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp