脉冲星 7 月脉动"/>
脉冲星 7 月脉动
关于 Apache Pulsar
Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。
GitHub 地址:/
导语
各位小伙伴们,2021 年 7 月 Pulsar 社区月报来啦!
感谢以下各位社区成员本月对 Pulsar 项目的支持,让 Apache Pulsar 继续发光发热!(排名不分先后,仅限于 GitHub 代码仓库提交记录,看看你有没有上榜 ????????):
Technoboy-、ericsyh、merlimat、codelipenghui、wangjialing218、sursingh、yangl、cimura、mattisonchao、hangc0276、urfreespace、yonyong、newur、wuzhanpeng、sh05、bem3、murong00、linlinnn、kaushik-develop、aloyszhang、tuteng、wolfstudy、abhilashmandaliya、wuzhanpeng、Jason918、GabrielNicolasAvellaneda、aahmed-se、danielorf、congbobo184、massakam、ravi-vaidyanathan、danielsinai、BewareMyPower、liangyepianzhou、lhotari、315157973、Anonymitaet、freeznet、zliang-min、rfigueroa、Demogorgon314、jerrypeng、eolivelli、RobertIndie、kaushik-develop、equanz、kaushik-develop、gaoran10、nlu90、Shoothzj、horizonzy、rdhabalia、Demogorgon314、zymap、rfigueroa
重要进展
Admin
Admin:开启 batch 消息加密窥视。
Admin:使用 peekMessage
或 getMessageById
向 Admin CLI 暴露更多消息属性来获取消息信息。
Broker
Broker:增加 Broker 一阶段压缩循环时间超时配置项。
Broker:调整 getDynamicConfigurationDouble
和 DynamicConfigurationBoolean
的实现方式。
Broker:清理部分冗余代码。
Broker/Bookie:给 Pulsar 进程设置 Dioty.tryReflectionSetAccessible=true
。
Broker:删除集群时关闭复制器和复制客户端。
Broker:支持设置多个角色进行授权。
Broker:删除 Pulsar 集群时关闭 replicator 和 replication client。
C++
C++:添加 transaction Admin API getPendingAckInternalStats
。
C++:设置 socket 选项时避免抛出异常。
C++:支持在 Windows 操作系统上构建 Pulsar C++ 调试库。
Policy
Policy:支持将 Null
设置为命名空间级订阅 TTL。
Policy:添加 Redis sink 的使用举例。
Go Functions
Go Functions:设置 Go function 运行时的订阅名称。
Go Functions:升级 Go 客户端至 0.5.0。
Pulsar IO
Pulsar IO:确保 AbstractKafkaSourceRecord
的 ack()
方法没有阻塞以避免死锁。
Pulsar IO:允许 Pulsar IO sink connector 使用原生 AVRO 和 JSON 格式。
Test
Test:使用 Awaitility
模块来替换 Thread.sleep
方法。
Test:给 MaxRequestSizeFilter
增加新的测试。
Test:给 ProcessHandlerFilter
增加新的测试。
其他
Connector:支持多个 Elasticsearch 主机。
NiFi:修复 NarUnpacker 中的并发问题。
Tiered-storage:移除不使用的监听器来减少线程池的创建。
Website:增加一个本地调试工具用于查阅 Pulsar 网站内容更新。
Pulsar Adapters:添加 Apache Pulsar Adapter 2.8.0 的下载链接到下载页面(仅限于源码压缩包)。
PIP 85:通过 Pulsar Functions 和 Pulsar connector 的 BaseContext
来暴露 Pulsar 客户端。
pulsar-perf:为 pulsar-perf CLI 命令添加缺少的参数。
BookKeeper:删除重复的配置。
Pulsar Dashboard:移除 Pulsar Dashboard。
Python Client:支持复杂的 schema。
Monitor: 将 storageLogicalSize
统计指标添加到 TopicStats
和 NamespaceStats
。
Bug 修复
Broker
Broker:修复在使用 CommandSubscribe.getConsumerName()
时没有进行确认的问题。
Broker:修复 Broker 重启后 topic 保留策略不生效的问题。
Broker:修复在重置游标后,订阅权限不生效的问题。
Broker:修改 resetCursor
中 timestamp 的描述。
Broker:修复在没有配置 AppendBrokerTimestampMetadataInterceptor
并开启 BrokerEntryMetadata
时,出现 fix publish_time
没有设置的报错。
Broker:修复 2.7 分支的 broker 发送限流器。
Broker:修复卸载持久分区主题时发生的 NullPointerException 问题。
Broker:解决使用分区主题名称获取主题级策略的 issue。
Broker:解决压缩中保留密钥的 issue 。
Broker:修复使用复制订阅和 Key_Shared consumer 时,broker 泄漏直接内存的问题。
Broker:修复内置连接器不存在时发生的 NPE。
Broker:删除 topic 后删除 topic 级策略。
Client
Client:修复客户端在使用 hasMessageAvailableAsync
和 readNextAsync
时引起的死锁问题。
C++ client:移除客户端 namespace 中 std::regex
的使用以避免 C++ core dump 问题。
Client:修复 WebSocket 的 TLS 漏洞。
Client:修复由于 ConfigurationStoreServers
为空导致集群数据检索失败的问题。
Client:避免关闭 consumer 时无限等待。
C++ Client:在 ZTSClient
中使用相同的正则表达式代码。
Function
Function:降低缓存不一致的概率。
Python Function:修复 Python Functions 运行时不支持 tls_validate_hostname
的问题。
Functions:修复一些方法使用不准确的问题。
Functions:修复 getSinkInfo
没有正确返回 topic 列表的问题。
Test
Test:修复硬编码 token 导致鉴权测试失败的问题。
Test:对 ZookeeperServerTest
进行简单的重构。
Test:修复 PR 11118 中引入的一些错误。
Test:修复 LoadBalancerTest
的 flaky test 中 testBrokerRanking
方法偶尔失效的问题。
Test:将 ReplicatorTest
测试组修改为 broker,并修复测试问题。
Test:修复 TopicFromMessageTest
flaky test 中 testMultiTopicConsumerBatchShortName
方法偶尔失效的问题。
Test:修复客户端工具测试中 TimeUnit
设置问题。
Test:修复 testBrokerRanking
flaky test 的问题。
Test:修复 2.7 分支的测试用例。
Transaction
Transaction:修复在 MLTransactionLog
初始化时可能引起的死锁问题。
Transaction:修复与提交和中止标记相关的直接内存泄漏的问题。
其他
Compaction:修复从已压缩的 ledger
读取数据时抛出异常的问题。
Policy:修复因保留大小策略删除过多 ledgers 的问题。
Metrics:修复一些缺失的 replicator 的指标。
Ledger:修复了 2.7 分支中 ledger 的任务调度流转逻辑。
Build:在 internalGetMessageIdByTimestamp
方法中使用 entryTimestamp
进行到期检查。
Common:修复命名空间 bundle 缓存的不一致行为。
C++:修复某些编译器中缺少头文件引入的问题。
C++:修复 Dockerfile 中的启动下载链接问题。
Admin:修复查看消息时 batch size 小于 0 的错误。
Admin:修复在创建特定分区的订阅时仅列出为 Partition-0
创建的订阅的问题。
CLI:修复在验证批处理源配置时的 pulsar-admin CLI 工具中的问题。
活动与干货
活动
•Pulsar Virtual Summit Europe 2021 报名启动[1]•首届全球 Pulsar Hackathon 2021 结果宣布,全球 Top5 团队出炉!
案例与专题
•[专题] 防宕机,Pulsar 跨机房复制了解一下?•视频回顾 | Pulsar Summit 2021 北美峰会 - 用户案例专场演讲
博文
•博文推荐|深入解析 Apache Pulsar 中的事务•完整版 | 2021 年 Apache Pulsar 用户调查报告•Apache Pulsar 里程碑简史:打造统一消息流平台与生态•[完整版] 2021 年 Apache Pulsar 用户调查报告•[专题] Function Mesh:Serverless 在消息与流数据场景下的火花•[视频回顾] Pulsar Summit 2021 北美峰会 -技术探究专场[2]•[视频回顾] Pulsar Summit 2021 北美峰会 - 周边生态专场演讲•[专题] Apache Pulsar PMC 成员翟佳:开源和 Apache 社区是个带有魔法的宝库•[视频回顾] Pulsar 2.8.0 新增特性概览:独占 Producer、事务等[3]
生态
•Apache Pulsar 生态项目 RocketMQ-on-Pulsar 新增 3 位腾讯 Maintainer
以上就是 2021 年 7 月份的脉动之旅,在此感谢参与周报与博客翻译整理的社区志愿者们:ericsyh、侯盛鑫,本月报内容也是基于上述志愿者的贡献汇总而成,再次感谢!如果你也想参与我们的社区志愿工作,欢迎加入!
Apache Pulsar 社区鼓励大家积极参与开源社区,无论是文档、代码、翻译,还是技术博客,都欢迎大家积极参与,早日成为 Pulsar contributor,一起加油鸭。
相关阅读
•脉冲星 6 月脉动•脉冲星 5 月脉动•脉冲星 4 月脉动
引用链接
[1]
Pulsar Virtual Summit Europe 2021 报名启动: [2]
Pulsar Summit 2021 北美峰会 -技术探究专场: [3]
Pulsar 2.8.0 新增特性概览:独占 Producer、事务等:
点击“阅读原文”,获取 Apache Pulsar 硬核干货资料!
更多推荐
脉冲星 7 月脉动
发布评论