Hi, I'm relatively new to avro, and I'm still struggling with getting schema evolution and related issues. But today it should be simple question.
What is recommended naming of types if we want to use schema evolution? Should namespace contain some information about version of schema? Or should it be in type itself? Or neither? What is the best practice? Is evolution even possible if namespace/type name is different? I thought that "neither" it's the case, built the app so that version ID is nowhere except for the directory structure, only latest version is compiled to java classes using maven plugin, and parsed all other avsc files in code (to be able to build some sort of schema registry, identify used writer schema using single object encoding and use schema evolution). However I used separate Parser instance to parse each schema. But if one would like to use schema imports, he cannot have separate parser for every schema, and having global one in this setup is also not possible, as each type can be registered just once in org.apache.avro.Schema.Names. Btw. I favored this variant(ie. no ID in name/namespace) because in this setup, after I introduce new schema version, I do not have to change imports in whole project, but just one line in pom.xml saying which directory should be compiled into java files. so what could be the suggestion to correct naming-versioning scheme? thanks, M.