I’m setting a subject to full_transitive
compat mode.
It contains a nested avro schema and schema registry is allowing some changes that seem to be breaking to me.
My schema contains this
.....
{
"name": "address",
"type": [
"null",
{
"type": "record",
"name": "AvroAddress",
"fields": [
{
"name": "address",
"type": [
"null",
{
"type": "string",
"avro.java.string": "String"
}
],
"doc": "...",
"default": null
},
{
"name": "country",
"type": {
"type": "string",
"avro.java.string": "String"
},
"doc": "..."
}
]
}
],
"default": null
},
...
As you can see here the country
field doesn’t have a default value but the Schema Registry allows me to update its name.
Is it because it is contained itself within a nullable field ? How an old consumer would react to this ?
What am I missing here please ?
question from:
https://stackoverflow.com/questions/65847163/schema-registry-allowing-weird-avro-schema-change 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…