With this option turned on, the serializer will just check if a schema exists in the registry server or not. If the schema doesn't exist, the client will get an exception.
yes please!
An example use case that could use this functionality now: https://groups.google.com/forum/#!topic/confluent-platform/Ve47ZtqLGGM
@ewencp has there been any progress on this? It will be rather useful for us to be able to centralize registration of new schemas, rather than having every producer register schemas on the fly.
+1 it would be useful to have the option to register new schema versions at other times (e.g. before deployment) instead of auto-registering at runtime while sending messages.
Are there any reasons that progress on https://github.com/confluentinc/schema-registry/pull/206 stalled?
This capability is now available in the Confluent Plat form 4.0
auto.register.schemas
Specify if the Serializer should attempt to register the Schema with Schema Registry
@mageshn Can this be set at the Schema Registry level rather than at individual serializers, i.e. setting this property in schema.registry.properties (or what file should this be set in if this is the case?) so schemas have to be registered beforehand?
This is a client property and hence can't be set at he Schema Registry level. It would need to be set in the producer properties. If auto.register.schemas is set to false, they have to be registered beforehand.
However, it's probably worth pointing out you could use Confluent Schema Registry Security Plugins to restrict registration to a specific principal. In this way, you can configure the schema registry such that you need specific authorization to register a schema, and even clients that try to auto-register the schema would have the requests fail and generate an error. This is the best way to lock down schema registration on the side of the schema registry even without requiring clients to have a specific config.
In confluent 4.1.0 and stream reactor 1.1.0 the property is ignored. How to reproduce: create a connector with following properties, send data, the schema will be registered in schema-registry. Is this a connector or confluent issue?
name=tryme
tasks.max=1
connect.mqtt.connection.clean=true
connect.mqtt.connection.timeout=1000
connect.mqtt.kcql=INSERT INTO tryme SELECT * FROM tryme WITHCONVERTER=`com.datamountaineer.streamreactor.connect.converters.source.JsonSimpleConverter`
connect.mqtt.connection.keep.alive=1000
connect.mqtt.client.id=tryme
connect.mqtt.converter.throw.on.error=false
connect.mqtt.hosts=ssl://mqtt-host:1883
connect.mqtt.service.quality=1
connector.class=com.datamountaineer.streamreactor.connect.mqtt.source.MqttSourceConnector
value.converter.auto.register.schemas=false
@windman83 is this the complete connector config? If so, you are missing the actual converter config. If your converter configs are in the worker.properties, then you would have to move the value.converter.auto.register.schemas=false to that as well.
Most helpful comment
+1 it would be useful to have the option to register new schema versions at other times (e.g. before deployment) instead of auto-registering at runtime while sending messages.
Are there any reasons that progress on https://github.com/confluentinc/schema-registry/pull/206 stalled?