Hi, As far as best practices are concerned, I have never seen any that change the names and/or namespace of a schema. But that is also because of generating code from the Avro schema.
What I usually see is adding an extra property to the root schema, named "version" or similar, combined with a version name in the .avsc file name. Kind regards, Oscar -- Oscar Westra van Holthe - Kind <os...@westravanholthe.nl> Op do 16 mei 2024 07:48 schreef Vignesh Kumar Kathiresan via user < user@avro.apache.org>: > Hi, > > I am new to avro and started working on it recently. I am in the process > of designing a schema evolution process. We use java applications and make > use of maven plugin to auto generate the classes from .avsc schema files. > > I am thinking of adding the version in the namespace during each evolution > as compatibility is based on unqualified-name only according to > specification. This is because I can now have a central library which keeps > track of all the versions and all the client applications can just import > the library and use different versions of schemas(java classes). Instead of > every client importing the required schema files and auto-generating at > their end every time they are upgrading to a newer version of the schema. > Is this a good practice to include version_id in the namespace? > > Also we use a schema registry with full compatibility checks on. > > Thanks, > Vignesh >