Our company has the version standard of .., for example 2021.2.0 is the second release for 2021. We currently have our Avro schemas stored in S3 by these versions. From what I can tell from many experiments (and directly calling RestService methods), the Schema Registry assigns a sequential integer whenever a new version is added. This is an issue for us. Is there a way to override the version, i.e. extend some class and have that specified in the config? Btw, I tried to get around this by setting the mode to IMPORT and registering schemas with integers derived from our version format, i.e. 2021.3.4 became 20210304, seemed to import ok, but when i went to get those schemas I got 500’s and when I tailed the Schema Registry log I saw exceptions.
The version is a very central piece of the schema registry. With some things in place, like having one master for the writes to prevent having multiple schema’s with the same version. Also for client it should not really matter what this version is, and could be considered an implementation detail. Why is it important for you to set it to a specific value?
thanks for your reply. We have hundreds of existing schemas that follow this version naming convention, which follows the common .. which is implemented enterprise wide for us. it does matter for us - we are in a very regulated industry where the in-place validation processes require the code and schema versions to be tested together. I guess I don’t understand why preventing multiple schemas with the same version would be difficult - relational databases do that all the time - if I try to Insert with an existing PK it will just get rejected.
But it’s not a version number, it’s a ‘global’ reference to a specific version. Although there are also versions specific to a certain subject. Do you want to just overwrite those versions?