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

ApachePulsar

关于 Apache Pulsar

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

GitHub 地址:http://github.com/apache/pulsar/

导语

各位小伙伴们,2021 年 3 月 Pulsar 社区月报来啦!新年伊始,Pulsar 有哪些新年新气象呢?和我们一起来看看吧。

感谢以下各位社区成员本月对 Pulsar 项目的支持,让 Apache Pulsar 继续发光发热!(排名不分先后,看看你有没有上榜 🏆🏆):

congbobo184、hangc0276、eolivelli 、Huanli-Meng、 lhotari、zymap、 jerrypeng、david-streamlio、michaeljmarshall、Anonymitaet、kandersen82、klwilson227、freeznet、MarvinCai、RobertIndie、rdhabalia、fmiguelez、315157973、sijia-w、sakurafly123、tuteng、congbobo184、dlg99、timmyyuan、Jennifer88huang、yangl、aahmed-se、BewareMyPower、caladogan、gaoran10、csthomas1、wuzhanpeng、linlinnn、mauza、xiaotongwang1、limingnihao、murong00、merlimat、codelipenghui、fanjeff、patricklucas、golden-yang、mlyahmed、limingnihao 、BewareMyPower、HugeSkull、hnail、massakam、wolfstudy、bithavoc

重要进展

Broker

Broker:支持获取应用的 BlacklogQuota

https://github.com/apache/pul...

Broker:支持获取应用的 SubscriptionDispatchRate

https://github.com/apache/pul...

Broker:将待处理的读订阅指标添加到 stats-internal。

https://github.com/apache/pul...

Broker:为 PulsarService#getAdminClient 添加 NPE 检查。

https://github.com/apache/pul...

Broker:防止使用无效的 broker 或 proxy configuration 设置授权。

https://github.com/apache/pul...

Broker:将 getWorkerService 方法更改为抛出 UnsupportedOperationException

https://github.com/apache/pul...

Broker:如果响应已经提交,则不添加 broker-address 标头。

https://github.com/apache/pul...

Broker:验证 /offload 请求的参数。

https://github.com/apache/pul...

Broker:支持获取已应用的 PersistencePolicies

https://github.com/apache/pul...

Broker:支持获取已应用的 clusterSubscribeRate

https://github.com/apache/pul...

Broker:支持获取已应用 dispatchRate

https://github.com/apache/pul...

Broker:支持获取压缩阀值。

https://github.com/apache/pul...

Build

Build:从 Pulsar docker 镜像中删除 .deb包。

https://github.com/apache/pul...

Build:将 pulsar-io-kafka-connect-adaptor 拆分为 JAR 和 NAR 模块。

https://github.com/apache/pul...

Build:启用详细的 Java 编译器告警。

https://github.com/apache/pul...

Build:设置项目版本时,更新 terraform 文件中的 Pulsar 版本。

https://github.com/apache/pul...

C++

C++ client:从 C++ 库中删除 gtest 文件。

https://github.com/apache/pul...

C++ Client:实现 C++ producer 中内存限制。

https://github.com/apache/pul...

CI

CI:在重试或继续执行下一测试之前,清除测试失败的状态。

https://github.com/apache/pul...

CI:在CI测试中添加 apache-rat check。

https://github.com/apache/pul...

CI:将集成测试命令重构为 run_integration_group.sh 脚本。

https://github.com/apache/pul...

CI:使用 DiagnosticCommand JMX MBean 实现线程转储。

https://github.com/apache/pul...

CI:通过仅涵盖选定的 connectors 来减小集成测试镜像的大小。

https://github.com/apache/pul...

Client

Go client:将 JWT-Go 版本更新为 v4。

https://github.com/apache/pul...

Pulsar Client:支持输出GenericRecord 内容。

https://github.com/apache/pul...

WebSocket Client:支持浏览器客户端进行 token 身份验证。

https://github.com/apache/pul...

Pulsar-client:Pulsar REST API、pulsar-admin 和 pulsar-client CLI 工具增加获取 Pulsar 版本的命令。

https://github.com/apache/pul...

Client: 支持为 MultiTopicsReaderImpl 设置多 topic。

https://github.com/apache/pul...

Client:使用不同的 listener-threads 处理不同分区 topic 的消息。

https://github.com/apache/pul...

Transaction

Transactions:对 End transaction 操作进行重试。

https://github.com/apache/pul...

Transactions:支持检查 transaction 状态。

https://github.com/apache/pul...

Transactions:实现 transaction 缓冲区快照。

https://github.com/apache/pul...

Transactions:清除 transaction buffer 中取消的 transaction。

https://github.com/apache/pul...

其他

Common:优化 ConcurrentOpenHashMap,缩短读锁死的持续时间。

https://github.com/apache/pul...

WebSocket:在 WebSocket 服务器中支持 pong 逻辑。

https://github.com/apache/pul...

WebSocket:允许 WebSocket proxy 在不解密的情况下将消息传递给客户端消费。

https://github.com/apache/pul...

Authentication: 在AuthenticationTls 中支持序列化 stream-provider 字段。

https://github.com/apache/pul...

Kafka:在 KafkaBytesSource 中支持 KeyValue

https://github.com/apache/pul...

Pulsar SQL:支持查询大写的 topic。

https://github.com/apache/pul...

Utils:转储 pulsar-perf 的 JVM 信息。

https://github.com/apache/pul...

Deployment:更新 Ansible 的部署配置中 Pulsar 的版本至 2.7.0。

https://github.com/apache/pul...

Pulsar-admin:添加命令以获取 leader broker 的 service URL。

https://github.com/apache/pul...

Pulsar-Discovery:在 discoveryservice 中将 ZooKeeper 替换为 MetadataStore

https://github.com/apache/pul...

Schema:将 Apache Avro 升级到 1.10.2 版本。

https://github.com/apache/pul...

Metrics:添加 broker 连接指标。

https://github.com/apache/pul...

Pulsar IO:Kafka source connector 支持管理 Avro 编码的消息。

https://github.com/apache/pul...

Test::将 TestNG 组添加到 Pulsar broker。

https://github.com/apache/pul...

Bug 修复

Broker

Broker:修复 2.7 分支上 Topic 为空时 hasMessageAvailable() 导致的错误。

https://github.com/apache/pul...

Broker:修复 2.7 分支上获取 topic 应用策略时未检查 topic 所有权的问题。

https://github.com/apache/pul...

Broker:修复主分支上获取 topic 应用策略时未检查 topic 所有权的问题。

https://github.com/apache/pul...

Broker:修复PersistentReplicator 中的 NPE 和线程安全问题。

https://github.com/apache/pul...

Broker:修复如果达到最大订阅限制,consumer 无法使用较旧的订阅来消费消息的问题。

https://github.com/apache/pul...

Broker:即使 Web 服务无法关闭,也可以继续正常关闭 broker 服务。

https://github.com/apache/pul...

Broker:记录在 ExecutorProvider 中超时后,在关闭时未终止的线程栈轨迹的日志。

https://github.com/apache/pul...

Broker:支持在 broker.conf 文件中禁用 tenants/namespaces 强制删除。

https://github.com/apache/pul...

Broker:允许 broker 发现并解锁卡住的订阅。

https://github.com/apache/pul...

Broker:修复 zkBookieRackAffinityMapping 漏洞,支持 BookKeeper 的 dnsResolver

https://github.com/apache/pul...

Broker:修复在 key_shared 订阅模式下无法消费非持久消息的问题。

https://github.com/apache/pul...

Broker:修复更新 lastLedgerCreationInitiationTimestamp 时出现的时间单位错误的问题。

https://github.com/apache/pul...

C++

C++:修复已暂停的零队列 consumer 仍预取消息的问题。

https://github.com/apache/pul...

C++:支持简单地配置调试级别的日志。

https://github.com/apache/pul...

C++:修复从接收到的消息 ID 中获取 topic 名称时的分割错误。

https://github.com/apache/pul...

Client

Java client:修复 ClientCnx 中的 NPE。

https://github.com/apache/pul...

Go client:修复 lookup service 中的 socket 泄漏的问题。

https://github.com/apache/pul...

Client:确保可以关闭单 topic 的 consumer。

https://github.com/apache/pul...

Client:修复从字节数组反序列化时未设置批处理大小的问题。

https://github.com/apache/pul...

Client:修复当达到最大订阅数时执行的无用重试的问题。

https://github.com/apache/pul...

Functions

Functions:启用服务器端路由以存储状态。

https://github.com/apache/pul...

Functions:传递来自 Pulsar source 的记录属性。

https://github.com/apache/pul...

Schema

Schema:暴露 struct schema 的原始记录。

https://github.com/apache/pul...

Schema:修复当 consumer 订阅没有 shcema 的空 topic 时,未添加 schema 的问题。

https://github.com/apache/pul...

Schema:添加 schema 类型验证。

https://github.com/apache/pul...

Schema:修复因 SchemaInfo 属性为空而引起的 NPE 问题。

https://github.com/apache/pul...

Schema:修复由 topic 使用 schema KeyValue <GenericRecord, Gen​​ericRecord> 引起的 OutOfMemoryError 错误。

https://github.com/apache/pul...

其他

Maven:添加 jersey-client 作为 pulsar-client-auth-sasl 的依赖。

https://github.com/apache/pul...

Build:修复在 Docker 中构建 wheel 文件时可能出现的名称不匹配的错误。

https://github.com/apache/pul...

Flaky test:修复 CurrentLedgerRolloverIfFullTest flaky test。

https://github.com/apache/pul...

Transactions:修复 transaction 日志的追加同步问题。

https://github.com/apache/pul...

Topic:当禁用自动创建功能时,仍可以自动创建 topic partition。

https://github.com/apache/pul...

Consumer:删除断开连接的 consumer,以进行自动发现。

https://github.com/apache/pul...

Pulsar-perf:修复 pulsar-perf CLI 工具,确保与以前版本的兼容。

https://github.com/apache/pul...

CI:修复 transaction flaky test。

https://github.com/apache/pul...

Build:修复 ahc-default.properties 文件的阴影。

https://github.com/apache/pul...

技术干货


以上就是 2021 年 3 月份的脉动之旅。Apache Pulsar 正在快速成长,感谢来自大家的支持!

Apache Pulsar 社区鼓励大家积极参与开源社区,无论是文档、代码、翻译,还是技术博客,都欢迎大家积极参与,早日成为 Pulsar contributor,一起加油鸭。

如果你对 Pulsar Contribute 的流程不太熟练,也可以参考我们这篇小教程,让你熟悉如何通过 GitHub 对 Pulsar 进行贡献:新手向|非技术人员如何参与 Pulsar 项目进行贡献

相关阅读

阅读 430

ApachePulsar
Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化...

Apache软件基金会顶级项目,下一代云原生分布式消息系统

140 声望
235 粉丝
0 条评论
你知道吗?

Apache软件基金会顶级项目,下一代云原生分布式消息系统

140 声望
235 粉丝
文章目录
宣传栏