producer schema和Kafka schema之间枚举中值的不同顺序是否可以返回40403

m4pnthwp  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(102)

我正在使用Kafka和Sping Boot 应用程序。我有一些问题与生产者无法发送消息给Kafka,是得到
Caused by: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: Schema not found; error code: 40403
据我所知,这并不是说模式不存在,而是我有一些分歧。不同的是,在Kafka上的模式中,我有一个枚举,它有一个值,而这个值在生产者的avro模式中是缺失的。现在我在枚举中添加了该值,但仍然得到相同的错误。
在Kafka方面,我有以下几点:
enum Test { A, B, C }
在制作人方面,我有以下几点:
enum Test { A, C, B }
这可能是我的场景中的问题吗?

dojqjjoe

dojqjjoe1#

如果您更改Avro架构本身的任何部分,它将创建一个新的MD5哈希,注册表使用该哈希进行查找。这与Avro指纹识别有关。当哈希值改变时,它就不能再“找到那个主题/模式”了。
更改枚举的顺序是向后兼容的更改,因为模式本身是兼容的,但注册表的实现不会接受这种更改。
您可以在https://github.com/confluentinc/schema-registry/issues报告错误

相关问题