Схема Avro обновляет необязательное поле до требуемого

#avro #confluent-schema-registry

#avro #confluent-schema-registry

Вопрос:

У меня есть схема avro. В нем есть несколько полей. Среди которых есть поле, которое в настоящее время является необязательным, т.Е. Его тип [«null»,»string»] Теперь я хочу сделать его не обнуляемым, т. Е. Он не должен иметь нулевого типа. Тем не менее, при внесении изменений я получаю ошибку 409. Как я могу внести это изменение и не повлиять на проверку обратной совместимости схемы avro или не вносить критические изменения

Комментарии:

1. Как потребители будут читать старые сообщения в теме, которые имеют нулевые значения?

2. похоже, мне придется внести кардинальные изменения и обновить потребителя тоже! Вот что я хочу понять, это единственный выход. #AvroRookie

3. зависит от настроек совместимости. вы можете удалить поле и добавить его снова как обязательное. при условии, что ваш параметр совместимости не является транзитивным: docs.confluent.io/platform/current/schema-registry/avro.html