关于 Apache Pulsar

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


导语

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

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

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


Technoboy-、ericsyh、merlimat、codelipenghui、wangjialing218、sursingh、yangl、cimura、mattisonchao、hangc0276、urfreespace、yonyong、BewareMyPower、Anonymitaet、lhotari、newur、wuzhanpeng、sh05、bem3、gaoran10、315157973、murong00、linlinnn、nlu90、kaushik-develop、aloyszhang、tuteng


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

本周亮点

PIP-45:bookies REST 接口使用 metadata store 相关实现。

​https:///apache/pulsar/pull/11210​

贡献者:@merlimat

重要进展

PIP 85:通过 Pulsar Functions 和 Pulsar connector 的 ​​BaseContext​​ 来暴露 Pulsar 客户端。

​https:///apache/pulsar/wiki/PIP-85%3A-Expose-Pulsar-Client-via-Function-Connector-BaseContext​

​https:///apache/pulsar/pull/11056​

贡献者:@nlu90

重要特性


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


Tiered-storage:移除不使用的监听器来减少线程池的创建。

​https:///apache/pulsar/pull/11215​

贡献者:@Technoboy-

Broker:增加 Broker 一阶段压缩循环时间超时配置项。

​https:///apache/pulsar/pull/11206​

贡献者:@codelipenghui

Broker:调整 ​​getDynamicConfigurationDouble​​ 和 ​​DynamicConfigurationBoolean​​ 的实现方式。

​https:///apache/pulsar/pull/11171​

贡献者:@Technoboy-

Website:增加一个本地调试工具用于查阅 Pulsar 网站内容更新。

​https:///apache/pulsar/pull/11160​

贡献者:@urfreespace

Broker:清理部分冗余代码。

​https:///apache/pulsar/pull/11071​

贡献者:@linlinnn

Test:使用 ​​ Awaitility​​ 模块来替换 ​​Thread.sleep​​ 方法。

​https:///apache/pulsar/pull/11164​

贡献者:@mattisonchao

Broker/Bookie:给 Pulsar 进程设置 ​​Dio.netty.tryReflectionSetAccessible=true​​。

​https:///apache/pulsar/pull/11138​

贡献者:@lhotari

Test:给 ​​MaxRequestSizeFilter​​ 增加新的测试。

​https:///apache/pulsar/pull/11128​

贡献者:@mattisonchao

Test:给 ​​ProcessHandlerFilter​​ 增加新的测试。

​https:///apache/pulsar/pull/11133​

贡献者:@mattisonchao

重要 Bug 修复


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


Compaction:修复从已压缩的 ​​ledger​​ 读取数据时抛出异常的问题。

​https:///apache/pulsar/pull/11175​

贡献者:@hangc0276

Broker:修复在使用 ​​CommandSubscribe.getConsumerName()​​ 时没有进行确认的问题。

​https:///apache/pulsar/pull/11199​

贡献者:@merlimat

Transaction:修复在 ​​MLTransactionLog​​ 初始化时可能引起的死锁问题。

​https:///apache/pulsar/pull/11194​

贡献者:@merlimat

Test:修复硬编码 token 导致鉴权测试失败的问题。

​https:///apache/pulsar/pull/11186​

贡献者:@sursingh

Client:修复客户端在使用 ​​hasMessageAvailableAsync​​ 和 ​​readNextAsync​​ 时引起的死锁问题。

​https:///apache/pulsar/pull/11183​

贡献者:@codelipenghui

Test:对 ​​ZookeeperServerTest​​ 进行简单的重构。

​https:///apache/pulsar/pull/11181​

贡献者:@yangl

C++ client:移除客户端 namespace 中 ​​std::regex​​ 的使用以避免 C++ core dump 问题。

​https:///apache/pulsar/pull/11179​

贡献者:@cimura

Test:修复 PR 11118 中引入的一些错误。

​https:///apache/pulsar/pull/11176​

贡献者:@mattisonchao

Functions:修复一些方法使用不准确的问题。

​https:///apache/pulsar/pull/11167​

贡献者:@mattisonchao

C++:修复某些编译器中缺少头文件引入的问题。

​https:///apache/pulsar/pull/11152​

贡献者:@BewareMyPower

Test:修复 ​​LoadBalancerTest​​ 的 flaky test 中 ​​testBrokerRanking​​ 方法偶尔失效的问题。

​https:///apache/pulsar/pull/11150​

贡献者:@Technoboy-

Broker:修复 Broker 重启后 topic 保留策略不生效的问题。

​https:///apache/pulsar/pull/11136​

贡献者:@hangc0276

Test:将 ​​ReplicatorTest​​ 测试组修改为 broker,并修复测试问题。

​https:///apache/pulsar/pull/11134​

贡献者:@codelipenghui

Broker:修复在重置游标后,订阅权限不生效的问题。

​https:///apache/pulsar/pull/11132​

贡献者:@wuzhanpeng

C++:修复 Dockerfile 中的启动下载链接问题。

​https:///apache/pulsar/pull/11129​

贡献者:@sh05

Test:修复 ​​TopicFromMessageTest​​ flaky test 中 ​​testMultiTopicConsumerBatchShortName​​ 方法偶尔失效的问题。

​https:///apache/pulsar/pull/11125​

贡献者:@Technoboy-

Broker:修改 ​​resetCursor​​ 中 timestamp 的描述。

​https:///apache/pulsar/pull/11121​

贡献者:@bem3

Test:修复客户端工具测试中 ​​TimeUnit​​ 设置问题。

​https:///apache/pulsar/pull/11118​

贡献者:@mattisonchao

Test:修复 ​​ testBrokerRanking​​ flaky test 的问题。

​https:///apache/pulsar/pull/11114​

贡献者:@hangc0276

Functions:修复 ​​getSinkInfo​​ 没有正确返回 topic 列表的问题。

​https:///apache/pulsar/pull/11094​

贡献者:@codelipenghui

Broker:修复在没有配置 ​​AppendBrokerTimestampMetadataInterceptor​​ 并开启 ​​BrokerEntryMetadata​​ 时,出现 ​​fix publish_time​​ 没有设置的报错。

​https:///apache/pulsar/pull/11014​

贡献者:@aloyszhang

活动和新闻

•英文社区 | TGIP:Pulsar 及其生态系统[1]•英文社区 | Pulsar 相关概念、架构和设计的每月直播[2]


本期周报翻译贡献者简介

ericsyh,开源小粉丝一枚,平时喜欢研究各类分布式系统。新加入 Pulsar 社区做志愿者,目前主要承担翻译相关工作。



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

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

如果你也想为 Apache Pulsar 项目出一份力、成为我们的 Contributor,参考下面链接,来加入我们吧:

Apache Pulsar 官方贡献指南[4]

引用链接

​[1]​​ 英文社区 | TGIP:Pulsar 及其生态系统: ​https://streamnative.io/resource#tgip​

​[2]​​ 英文社区 | Pulsar 相关概念、架构和设计的每月直播: ​https://streamnative.io/en/resource#intro-to-apache-pulsar-101​

​[3]​​ Announcing Pulsar Virtual Summit Europe 2021: CFP Is Open!: ​https://streamnative.io/en/blog/community/2021-06-30-announcing-pulsar-virtual-summit-europe-2021-cfp-is-open​

​[4]​​ Apache Pulsar 官方贡献指南: ​http://pulsar.apache.org/en/contributing/​

Pulsar 社区周报|2021-06-28~2021-07-04_java