1.6. Apicurio Registry 解决了的问题
Apicurio Registry 内核解决的问题
IPT-651 - 在从 Apicurio Registry 获取 schema 时对 Protobuf 消息进行错误处理
Kafka producer 应用可以设置 schema,但使用者应用无法从 registry 获取 schema,并引发 org.apache.kafka.common.errors.SerializationException 并带有错误,例如:
error deserializing Protobuf message for id 3\nCaused by: java.io.IOException: Invalid schema syntax = \"proto3\";\npackage …commons;\n\nimport \"head.proto\";\n\noption java_package = \"packaget\";\noption java_multiple_files = true; \n\nmessage AuditMessage {\n commons.Head head = 1;\n int64 id = 5;\n string user = 6;\n bytes extraData = 7;\n string signature = 8;\n}\n with refs [] of type AVRO\n\tat
IPT-625 - Error upload artifact to Apicurio Registry with KafkaSQL storage
当使用 KafkaSQL 存储选项安装 Apicurio Registry 时,在上传新工件时会引发 io.apicurio.registry.storage.RegistryStorageException。可能的错误消息包括 SQL 错误:预期一个元素,但找不到任何 元素。
这个错误是由 Kafka 日志压缩造成的,它删除控制数据库序列的消息。现在,这个问题已通过防止控制数据库序列的消息被紧凑。如需了解更多详细信息,请参阅 Apicurio Registry 的 KafkaSQL 存储中解决问题的 Apicurio 社区博客文章。
IPT-159 - Registry v1 API 和 Confluent 兼容性 API 不匹配
需要迁移到 Apicurio Registry v2.x 的现有用户来升级其所有使用 Apicurio Registry v1 serializers/deserializers/deserializers (SerDes)的 Kafka 客户端应用程序,以改用 Apicurio Registry v2 SerDes。
Apicurio Registry 提供了一个名为 ENABLE_CCOMPAT_LEGACY_ID_MODE 的新环境变量,您可以使用它们恢复到 v1 兼容性 API 的传统行为。当此变量设置为 true 时,Apicurio Registry 使用 globalId 而不是 contentId 作为使用兼容性 API 上传的 schema 的唯一标识符。
registry-1619 - Apicurio Registry 服务器无法正确配置为需要身份验证,而无需基于角色的授权
当在 Apicurio Registry 服务器中禁用基于角色的访问控制时,也会禁用身份验证。即使在 Quarkus 中启用了 OpenID Connect,用户也不需要提供凭证。如果用户提供无效凭证,请求会失败。但是,如果用户不提供凭证,则请求会代表匿名用户成功。由于角色被禁用,因此不会进行额外的检查。
registry-1289 - Registry 在 IPv6 上无法正常工作
当试图在带有互联网协议 v6 的 Kubernetes 服务器上使用 Operator 部署 Apicurio Registry 时,registry 服务器无法启动。
registry-1151 - 在封闭网络中运行时错误获取 JavaScript 库
在封闭网络中运行时,Redoc JavaScript 库无法正确加载,因为它们引用 CDN,而不是在应用程序中被包含或捆绑。
registry-1007 - Registry REST API 返回 406 错误
当请求中包含 Accept: application/json 标头时,Registry REST API 会返回 406 错误。
registry-711 - Apicurio Registry 客户端无法使用 Jersey HTTP 客户端
当 Jersey 和 RESTEasy JAX-RS 提供程序都位于 classpath 中,则 RESTEasy 会优先处理其他 HTTP 客户端功能,并依赖 Jersey 客户端支持 应用/octet-stream 传输,即 RESTEasy 似乎不支持。
Apicurio Registry Operator 已解决的问题
operator-41 - 示例 CRD 为空
提供的 ApicurioRegistry 自定义资源定义示例不应为空。