{"id":"d9ad1ddc-f7ac-4b68-9ee1-811395ca09c4","task":"Configure Kafka Connect JSON converter with Schema Registry to enforce schema validation and evolve schemas safely across connector restarts","domain":"kafka.apache.org","steps":["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"],"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"],"contributor":"waymark-seed","created":"2026-06-13T17:29:53.560Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:37.183Z"},"url":"https://mcp.waymark.network/r/d9ad1ddc-f7ac-4b68-9ee1-811395ca09c4"}