Pulsar 周报由 StreamNative 翻译整理。原文内容来自 StreamNative 官网 Pulsar 周报模块 https://streamnative.io/weekly。 
本期编辑:鸡排@StreamNative。

关于 Apache Pulsar

Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。

GitHub 地址:http:///apache/pulsar/

导语

各位小伙伴们,Pulsar 社区周报更新来啦!

本次 Pulsar 社区周报,为大家呈现 Pulsar client、broker、transactions 等内容,帮助社区小伙伴们掌握 Pulsar 项目及社区每周进展,也方便大家更好地参与到 Pulsar 社区中来!

感谢本周以下小伙伴为 Apache Pulsar 添砖加瓦(排名不分先后,看看你有没有上榜):

lhotari、aahmed-se、315157973、Technoboy-、rdhabalia、klwilson227、hangc0276、cimura、yangl、Anonymitaet、geomagilles、eolivelli、BewareMyPower、congbobo184、vroyer、gaoran10、sijie、jerrypeng、codelipenghui、hrsakai、jdbeck、MarvinCai、baomingyu、 dlg99、massakam、merlimat、kilient、david-streamlio、linlinnn

接下来,一起看看 4 月 5 日 ~ 4 月 11 日有哪些值得你关注的进展吧!

本周亮点

Schema Registry:引入一个新的高级 GenericObject 接口,该接口代表 Pulsar topic 上的每个逻辑值,支持编写适用于所有 schema 类型的 sink。 

贡献者:@eolivelli

重要进展

•因为 PR 较多,仅列举较大 PR 进展,不包括当周全部动态
•下面 PR 均已合入 Pulsar 主分支

[PIP-82]:Broker:添加任务将资源使用情况发布到 topic。 
https:///apache/pulsar/pull/10008
贡献者:@bharanic-dev

Broker:修复当 startMessageId 大于 lastConfirmedEntry 时导致 NonDurableCursorImpl#initialPosition 错误的问题。 
https:///apache/pulsar/pull/10095 
贡献者:@congbobo184

C++ client:降低 ack-grouping 跟踪器的日志级别。 
https:///apache/pulsar/pull/10094 
贡献者:@BewareMyPower

Broker:修复 AutoConsumeSchema 中 KeyValue 的编码问题。 
https:///apache/pulsar/pull/10089 
贡献者:@vroyer

Broker:优化 CompletableFuture 超时处理。 
https:///apache/pulsar/pull/10065 
贡献者:@lhotari

Broker: 更改  police cache not init 日志级别。 
https:///apache/pulsar/pull/10059 
贡献者:@hangc0276

Tiered Storage:恢复 Offloader 的目录覆盖以防止 Class Loader 泄漏。 
https:///apache/pulsar/pull/9878 
贡献者:@michaeljmarshall

重要特性

•因为 PR 较多,仅列举较大 PR 进展,不包括当周全部动态
•下面 PR 均已合入 Pulsar 主分支

Test:重构现有的 Pulsar Function 单元测试。 
https:///apache/pulsar/pull/10125 
贡献者:@david-streamlio

C ++:支持通过 C++ API 配置内存限制。
https:///apache/pulsar/pull/10145 
贡献者:@merlimat

Functions:在本地运行模式下暴露 Pulsar Functions 的 Prometheus 指标。 
https:///apache/pulsar/pull/10156 
贡献者:@jerrypeng

Schema Registry:实现 GenericObject,允许 GenericRecord 包装任意 Java 对象。 
https:///apache/pulsar/pull/10057 
贡献者:@eolivelli

Admin:支持为非持久性调度程序设置 namespace 级别和 topic 级别的策略。 
https:///apache/pulsar/pull/10121 
贡献者:@315157973

C++:在 Mac OS上 添加 /opt/homebrew/ 作为 OpenSSL 的可能路径。 
https:///apache/pulsar/pull/10141 
贡献者:@merlimat

Schema Registry:在 Message#getValue() 中支持 KeyValue。 
https:///apache/pulsar/pull/10107 
贡献者:@eolivelli

IO:支持实现 sink connector,该 connector 支持 Schema 但在构建时无需指定schema 类型。 
https:///apache/pulsar/pull/10034 
贡献者:@eolivelli

Broker:增加新的 Optional<Object> Schema#getNativeSchema方法。 
https:///apache/pulsar/pull/10076 
贡献者:@eolivelli

重要 Bug 修复

•因修复内容较多,仅列举较重要修复内容,不包括本周全部动态
•下面修复均已合入 Pulsar 主分支

Client:修复 ClientConfigurationData 对象不相等的问题。 
https:///apache/pulsar/pull/10091 
贡献者:@dlg99

Transaction:修复尝试创建 transaction 时因未启用 transaction 导致的 NPE 异常。 
https:///apache/pulsar/pull/10139 
贡献者:@linlinnn

Broker:修复在 Key_shared 订阅模式下添加其他 consumer 时某些 partition 卡住的问题。 
https:///apache/pulsar/pull/10096 
贡献者:@baomingyu

Transaction:修复无法恢复 transaction 日志的问题。 
https:///apache/pulsar/pull/10146 
贡献者:@congbobo184

Transaction:修复中止 transaction 重试时发生的问题。 
https:///apache/pulsar/pull/10131 
贡献者:@congbobo184

Broker:修复当 consumer 启用了重试功能并在 DeadLetterPolicy 中设置了重试主题,consumer 多次收到重试消息后被阻止的问题。 
https:///apache/pulsar/pull/10078 
贡献者:@gaoran10

Flaky Test:修复 SimpleProducerConsumerTestStreamingDispatcherTest.testRedeliveryFailOverConsumerflaky test。 
https:///apache/pulsar/pull/10118 
贡献者:@lhotari

C++:修复 MemoryLimitController 中的竞争条件。 
https:///apache/pulsar/pull/10142 
贡献者:@merlimat

C++:修复在发送超时的情况下 C++ 客户端无法释放信号量和申请的内存的问题。 
https:///apache/pulsar/pull/10144 
贡献者:@merlimat

Broker:修复 PersistentReplicator 中出现的 IllegalStateException 异常。 
https:///apache/pulsar/pull/10098 
贡献者:@lhotari

Broker:修复无法禁用、删除 MaxConsumersPerSubscriptionn 的问题。 
https:///apache/pulsar/pull/10070 
贡献者:@315157973

Client:对查找请求使用通用的请求超时处理以修复可能的内存泄漏。 
https:///apache/pulsar/pull/10066 
贡献者:@lhotari

Client: 从 ConsumerImpl 删除不必要的锁。 
https:///apache/pulsar/pull/9261 
贡献者:@hangc0276

Client:修复 brokerTimestamp 未设置恰当的问题。 
https:///apache/pulsar/pull/9493 
贡献者:@hangc0276

Client:允许 Pulsar Client 接收外部计时器。 
https:///apache/pulsar/pull/9802 
贡献者:@linlinnn

活动和新闻

•邀请函|2021 Apache Pulsar Meetup 第五站—广州•邀请函|2021 Apache Pulsar Meetup 第四站—深圳•报名 Apache Pulsar Hackathon[1]•报名 Pulsar Virtual Summit North America 2021[2]•TGIP:Pulsar 及其生态系统[3]•TGIP-CN:Pulsar 及其生态系统[4]

博文阅读

•博文推荐 | Apache Pulsar 三大跨地域复制解决方案•博文推荐|多图详解 Apache Pulsar 消息存储模型


作为全球性开源项目,截至 2021 年 4 月 11 日,Apache Pulsar 已拥有 385 名贡献者、7.6K+ Star 、1.9K+ Fork 。正是由于分布在全球各地的社区开发者的贡献,才使得 Apache Pulsar 项目不断发展与前进。

让我们期待下一周的 Apache Pulsar 周报!

如果你也想为 Apache Pulsar 项目出一份力、成为我们的 Contributor,参考下面链接,来加入我们吧: Apache Pulsar 官方贡献指南[5]

相关阅读

•  Pulsar 社区周报|2021-03-15~2021-03-21

•  脉冲星 3 月脉动 | Pulsar 2.7.1 版本发布!

引用链接

[1] 报名 Apache Pulsar Hackathon: https://www.eventbrite.com/e/apache-pulsar-hackathon-2021-tickets-143906003731
[2] 报名 Pulsar Virtual Summit North America 2021: https://hopin.com/events/pulsar-summit-north-america-2021
[3] TGIP:Pulsar 及其生态系统: https://streamnative.io/resource#tgip
[4] TGIP-CN:Pulsar 及其生态系统: https://www.slidestalk.com/ApachePulsar/list/meetup/
[5] Apache Pulsar 官方贡献指南: http://pulsar.apache.org/en/contributing/