查看原文
其他

Apache Pulsar 发布 2.5.2 版本

Jia ApachePulsar 2021-10-19
2020 年 05 月 19 日,Apache Pulsar 正式发布了 2.5.2 版本。

Apache Pulsar 2.5.2 版本合并了社区的 56 个 PR,修复了大量漏洞,涵盖 Broker、客户端、Pulsar Functions、Tiered Storage、Pulsar IO 等,进一步丰富和完善了 Pulsar 作为一个云原生流数据平台的能力。

在这篇文章中,我们将会为大家详细解读 2.5.2 中修复、改进的特性。



 Broker

  • 支持在 namespace 级别,覆盖 Broker 的 AutoTopicCreation 设置。[#6471]

  • 在 tiered storage 的 namespace 级别的 Offload 策略中,添加 deletionLag 和 threshold 的支持。[#6422]

  • 在创建、删除 topic 时,通过只失效 ZooKeeper cache,而不重新加载 cache,来减少 ZooKeeper 的压力。[#6659]

  • 修复重复删除 namespace 的问题。[#6713]

  • 修复在 HTTP 获得 batch message 的时候,只能获得第一个 message, 而不能获得所有 message 的问题。[#6715]

  • 修复在同时创建 Consumer 和 Reader 的过程中造成的死锁问题。[#6728]

  • 在 Consumer Channel 不可写的情况下,避免发送大量的数据,从而造成 OOM。[#6740]

  • 修复 Producer 在创建加密的消息后,没有释放旧的 MessageMetadata 对象而带来的内存泄露问题。[#6745]

  • 升级 Netty 到 Netty 4.1.48.Final。[#6746]

  • 增加加载 topic 的超时时间,容忍跨地域复制的 topic 的时延。[#6750]

  • 修复对已经处于关闭状态的 cursor 状态的错误修改。[#6766]

  • 修复非持久化的 cursor 由于错误的状态设置带来的性能问题。[#6769]

  • 通过在注册负载均衡的 zode 时,等待 Session 过期的方式,避免遇到 Exception[#6788]

  • 修复在 Compacted Topic 中遇到的空消息的问题。[#6795]

  • 避免在创建 Topic 时,使用分区 Topic 的名字。[#6846]

  • 支持为 TLS 添加 KeyStore 的配置方式。[#6853]

  • 修复由于 batchReceivePolicy 中条件判断错误,而带来的 consumer 无法消费的问题。[#6862]

  • 修复 originalAuthChecker 中, Proxy 认证使用错误的认证方法的问题。[#6870]

  • 修复错误的处理逻辑,创建 Producer 的过程中,如果 Topic 不存在,就关闭 Producer。[#6879]

  • 处理 topic.addProducer 中所有的异常,修复遗漏的异常处理。[#6881]

  • 修复 topicPublishRateLimiter 在 broker 重启之后无法生效的问题。[#6893]

  • 为 namespace、subscription、consumer 添加 pulsar_out_bytes_totalpulsar_out_messages_total 指标。[#6918]

  • 修复无法成功设置 ttlDurationDefaultInSeconds 策略的问题。[#6920]

  • 修复 Pulsar Admin 中 IO 线程数的设置错误,避免线程数目溢出。[#6940]


Pulsar Schema

  • 修复在 GenricJsonRecord 中,对 Long 字段的测处理问题。[#6622]


  • 修复在 Avro Schema 中,由于在错误路径处理上遗漏了光标重置,导致的数据错误问题。[#6695]


  • 修复通过 Version 获取 Schema 时,获取到已经删除的 Schema version 的问题。[#6754]


  • 修复 Python Schema 中 JSON/Avro 序列化枚举类型的问题。[#6808]


  • Pulsar SQL 的 Avro Schema 支持 `ByteBuffer` 类型。[#6925]



Client

  • C++ client 支持自动更新 topic partitions。[#6732]

  • 修复在 Regex consumers 中,无法正确设置初始消费位置。[#6810]

  • 修复在消息发送的回调函数中返回错误的 message ID 的问题。[#6812]

  • 修复 Producer 向 partitioned topic 发送消息之后,返回的错误的 Message ID 的问题。[#6938]

  • 补全 Python Function protobuf 缺少的相应的字段。[#6641]



Pulsar Functions

  • Pulsar Functions 支持异步方法,例如 Function<I, CompletableFuture<O>>。[#6684]

  • 修复 Pulsar Function 的 REST API admin/v3/functions/{tenant}/{namespace} 一直返回错误代码 404 的问题[#6767]

  • 修复在 Pulsar Functions 的错误路径下,相关 consumers 没有被清理的错误。[#6778]

  • 修复 Pulsar Functions 本地运行环境的 Netty 依赖的问题。[#6779]

  • 修复在 Pulsar Functions 的 validateUpdate 函数中,对序列化函数设置的错误错误验证。[#6888]



Tiered Storage


  • 将 Tiered Storage 中通用的序列化、反序列化方法,挪到 managed-ledger 模块中,便于复用代码。[#6533]

  • 在 Tiered Storage 中,支持 Offloader 接口访问 SchemaStorage。[#6567]


  • 避免在 offload 的过程中预处理太多数据,造成 OOM。[#6717]



Pulsar IO

  • 修复 JDBC Sink 在 schema 中,没有正确地处理空值的问题。[#6848]




下载链接

🔗Pulsar 2.5.2 的下载链接:
https://pulsar.apache.org/download/

🔗Pulsar 项目链接:
https://pulsar.incubator.apache.org/

🔗Pulsar Github 代码库:
http://github.com/apache/pulsar

🔗Pulsar slack channel:
https://apache-pulsar.herokuapp.com/

🔗Pulsar 邮件列表:
https://pulsar.incubator.apache.org/contact/



点击「阅读原文」下载最新版本吧!
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存