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

2023-11-11 09:10

本文主要是介绍脉冲星 3 月脉动 | Pulsar 2.7.1 版本发布!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于 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/pulsar/pull/9828

Broker:支持获取应用的 SubscriptionDispatchRate
https://github.com/apache/pulsar/pull/9827

Broker:将待处理的读订阅指标添加到 stats-internal。
https://github.com/apache/pulsar/pull/9788

Broker:为 PulsarService#getAdminClient 添加 NPE 检查。
https://github.com/apache/pulsar/pull/9782

Broker:防止使用无效的 broker 或 proxy configuration 设置授权。
https://github.com/apache/pulsar/pull/9746

Broker:将 getWorkerService 方法更改为抛出 UnsupportedOperationException
https://github.com/apache/pulsar/pull/9738

Broker:如果响应已经提交,则不添加 broker-address 标头。
https://github.com/apache/pulsar/pull/9744

Broker:验证 /offload 请求的参数。
https://github.com/apache/pulsar/pull/9737

Broker:支持获取已应用的 PersistencePolicies
https://github.com/apache/pulsar/pull/9831

Broker:支持获取已应用的 clusterSubscribeRate
https://github.com/apache/pulsar/pull/9832

Broker:支持获取已应用 dispatchRate
https://github.com/apache/pulsar/pull/9824

Broker:支持获取压缩阀值。
https://github.com/apache/pulsar/pull/10038

Build

Build:从 Pulsar docker 镜像中删除 .deb包。
https://github.com/apache/pulsar/pull/9811

Build:将 pulsar-io-kafka-connect-adaptor 拆分为 JAR 和 NAR 模块。
https://github.com/apache/pulsar/pull/9808

Build:启用详细的 Java 编译器告警。
https://github.com/apache/pulsar/pull/9780

Build:设置项目版本时,更新 terraform 文件中的 Pulsar 版本。
https://github.com/apache/pulsar/pull/9775

C++

C++ client:从 C++ 库中删除 gtest 文件。
https://github.com/apache/pulsar/pull/9816

C++ Client:实现 C++ producer 中内存限制。
https://github.com/apache/pulsar/pull/9676

CI

CI:在重试或继续执行下一测试之前,清除测试失败的状态。
https://github.com/apache/pulsar/pull/9823

CI:在CI测试中添加 apache-rat check。
https://github.com/apache/pulsar/pull/9815

CI:将集成测试命令重构为 run_integration_group.sh 脚本。
https://github.com/apache/pulsar/pull/9770

CI:使用 DiagnosticCommand JMX MBean 实现线程转储。
https://github.com/apache/pulsar/pull/9766

CI:通过仅涵盖选定的 connectors 来减小集成测试镜像的大小。
https://github.com/apache/pulsar/pull/9807

Client

Go client:将 JWT-Go 版本更新为 v4。
https://github.com/apache/pulsar-client-go/pull/481

Pulsar Client:支持输出GenericRecord 内容。
https://github.com/apache/pulsar/pull/9785

WebSocket Client:支持浏览器客户端进行 token 身份验证。
https://github.com/apache/pulsar/pull/9886

Pulsar-client:Pulsar REST API、pulsar-admin 和 pulsar-client CLI 工具增加获取 Pulsar 版本的命令。
https://github.com/apache/pulsar/pull/9975

Client: 支持为 MultiTopicsReaderImpl 设置多 topic。
https://github.com/apache/pulsar/pull/9995

Client:使用不同的 listener-threads 处理不同分区 topic 的消息。
https://github.com/apache/pulsar/pull/10017

Transaction

Transactions:对 End transaction 操作进行重试。
https://github.com/apache/pulsar/pull/9236

Transactions:支持检查 transaction 状态。
https://github.com/apache/pulsar/pull/9776

Transactions:实现 transaction 缓冲区快照。
https://github.com/apache/pulsar/pull/9490

Transactions:清除 transaction buffer 中取消的 transaction。
https://github.com/apache/pulsar/pull/9974

其他

Common:优化 ConcurrentOpenHashMap,缩短读锁死的持续时间。
https://github.com/apache/pulsar/pull/9787

WebSocket:在 WebSocket 服务器中支持 pong 逻辑。
https://github.com/apache/pulsar/pull/10035

WebSocket:允许 WebSocket proxy 在不解密的情况下将消息传递给客户端消费。
https://github.com/apache/pulsar/pull/10026

Authentication: 在AuthenticationTls 中支持序列化 stream-provider 字段。
https://github.com/apache/pulsar/pull/10020

Kafka:在 KafkaBytesSource 中支持 KeyValue
https://github.com/apache/pulsar/pull/10002

Pulsar SQL:支持查询大写的 topic。
https://github.com/apache/pulsar/pull/9980

Utils:转储 pulsar-perf 的 JVM 信息。
https://github.com/apache/pulsar/pull/9769

Deployment:更新 Ansible 的部署配置中 Pulsar 的版本至 2.7.0。
https://github.com/apache/pulsar/pull/9774

Pulsar-admin:添加命令以获取 leader broker 的 service URL。
https://github.com/apache/pulsar/pull/9799

Pulsar-Discovery:在 discoveryservice 中将 ZooKeeper 替换为 MetadataStore
https://github.com/apache/pulsar/pull/9967

Schema:将 Apache Avro 升级到 1.10.2 版本。
https://github.com/apache/pulsar/pull/9898

Metrics:添加 broker 连接指标。
https://github.com/apache/pulsar/pull/9876

Pulsar IO:Kafka source connector 支持管理 Avro 编码的消息。
https://github.com/apache/pulsar/pull/9448

Test::将 TestNG 组添加到 Pulsar broker。
https://github.com/apache/pulsar/pull/9712

Bug 修复

Broker

Broker:修复 2.7 分支上 Topic 为空时 hasMessageAvailable() 导致的错误。
https://github.com/apache/pulsar/pull/9798

Broker:修复 2.7 分支上获取 topic 应用策略时未检查 topic 所有权的问题。
https://github.com/apache/pulsar/pull/9781

Broker:修复主分支上获取 topic 应用策略时未检查 topic 所有权的问题。
https://github.com/apache/pulsar/pull/9767

Broker:修复PersistentReplicator 中的 NPE 和线程安全问题。
https://github.com/apache/pulsar/pull/9763

Broker:修复如果达到最大订阅限制,consumer 无法使用较旧的订阅来消费消息的问题。
https://github.com/apache/pulsar/pull/9758

Broker:即使 Web 服务无法关闭,也可以继续正常关闭 broker 服务。
https://github.com/apache/pulsar/pull/9835

Broker:记录在 ExecutorProvider 中超时后,在关闭时未终止的线程栈轨迹的日志。
https://github.com/apache/pulsar/pull/9840

Broker:支持在 broker.conf 文件中禁用 tenants/namespaces 强制删除。
https://github.com/apache/pulsar/pull/9819

Broker:允许 broker 发现并解锁卡住的订阅。
https://github.com/apache/pulsar/pull/9789

Broker:修复 zkBookieRackAffinityMapping 漏洞,支持 BookKeeper 的 dnsResolver
https://github.com/apache/pulsar/pull/9894

Broker:修复在 key_shared 订阅模式下无法消费非持久消息的问题。
https://github.com/apache/pulsar/pull/9826

Broker:修复更新 lastLedgerCreationInitiationTimestamp 时出现的时间单位错误的问题。
https://github.com/apache/pulsar/pull/10049

C++

C++:修复已暂停的零队列 consumer 仍预取消息的问题。
https://github.com/apache/pulsar/pull/10036

C++:支持简单地配置调试级别的日志。
https://github.com/apache/pulsar/pull/10031

C++:修复从接收到的消息 ID 中获取 topic 名称时的分割错误。
https://github.com/apache/pulsar/pull/10006

Client

Java client:修复 ClientCnx 中的 NPE。
https://github.com/apache/pulsar/pull/9761

Go client:修复 lookup service 中的 socket 泄漏的问题。
https://github.com/apache/pulsar-client-go/pull/478

Client:确保可以关闭单 topic 的 consumer。
https://github.com/apache/pulsar/pull/9849

Client:修复从字节数组反序列化时未设置批处理大小的问题。
https://github.com/apache/pulsar/pull/9855

Client:修复当达到最大订阅数时执行的无用重试的问题。
https://github.com/apache/pulsar/pull/9991

Functions

Functions:启用服务器端路由以存储状态。
https://github.com/apache/pulsar/pull/9978

Functions:传递来自 Pulsar source 的记录属性。
https://github.com/apache/pulsar/pull/9943

Schema

Schema:暴露 struct schema 的原始记录。
https://github.com/apache/pulsar/pull/9614

Schema:修复当 consumer 订阅没有 shcema 的空 topic 时,未添加 schema 的问题。
https://github.com/apache/pulsar/pull/9853

Schema:添加 schema 类型验证。
https://github.com/apache/pulsar/pull/9797

Schema:修复因 SchemaInfo 属性为空而引起的 NPE 问题。
https://github.com/apache/pulsar/pull/9985

Schema:修复由 topic 使用 schema KeyValue <GenericRecord, GenericRecord> 引起的 OutOfMemoryError 错误。
https://github.com/apache/pulsar/pull/9981

其他

Maven:添加 jersey-client 作为 pulsar-client-auth-sasl 的依赖。
https://github.com/apache/pulsar/pull/10055

Build:修复在 Docker 中构建 wheel 文件时可能出现的名称不匹配的错误。
https://github.com/apache/pulsar/pull/10051

Flaky test:修复 CurrentLedgerRolloverIfFullTest flaky test。
https://github.com/apache/pulsar/pull/10004

Transactions:修复 transaction 日志的追加同步问题。
https://github.com/apache/pulsar/pull/9238

Topic:当禁用自动创建功能时,仍可以自动创建 topic partition。
https://github.com/apache/pulsar/pull/9786

Consumer:删除断开连接的 consumer,以进行自动发现。
https://github.com/apache/pulsar/pull/9660

Pulsar-perf:修复 pulsar-perf CLI 工具,确保与以前版本的兼容。
https://github.com/apache/pulsar/pull/9838

CI:修复 transaction flaky test。
https://github.com/apache/pulsar/pull/9934

Build:修复 ahc-default.properties 文件的阴影。
https://github.com/apache/pulsar/pull/10007

技术干货

•Taking an In-Depth Look at How to Achieve Isolation in Pulsar[1]•How To Get Started With Apache Pulsar On Docker[2]•译文 | Apache Pulsar 集群如何确保消息不丢•Apache Pulsar 在能源互联网领域的落地实践•StreamNative 宣布开源 AWS SQS Connector•Apache BookKeeper 4.13.0发布•博文推荐|Pulsar 存储空间不释放的问题分析与解决方法•译文|选择 Apache Pulsar 而非 Kafka 的 10 个理由•Apache Pulsar PMC成员翟佳:Pulsar 2021 展望与规划•博文推荐 | 一文带你看懂 Pulsar 的消息保留和过期策略•博文推荐|深度解析如何在 Pulsar 中实现隔离•译文|借助 Pulsar Functions 迁移到无服务应用程序


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

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

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

相关阅读

•脉冲星 2 月脉动 | Pulsar 的正月•脉冲星 1 月脉动 | Pulsar Flink Connector 2.7.0 发布

引用链接

[1] Taking an In-Depth Look at How to Achieve Isolation in Pulsar: https://streamnative.io/en/blog/tech/2021-03-02-taking-an-in-depth-look-at-how-to-achieve-isolation-in-pulsar
[2] How To Get Started With Apache Pulsar On Docker: https://www.lionbloggertech.com/apache-pulsar-on-docker/?utm_source=ReviveOldPost&utm_medium=social&utm_campaign=ReviveOldPost
[3] 新手向|非技术人员如何参与 Pulsar 项目进行贡献: http://mp.weixin.qq.com/s?__biz=MzUxOTc4NDc2MQ==&mid=2247485062&idx=1&sn=0f44cc772d46ac0c937eea478bcadb18&chksm=f9f516d0ce829fc67b0c08e9ee08263314785b0fe5c3064593755bfad4134c2795b8e3eb998d&scene=21#wechat_redirect


点击「阅读原文」,为 Pulsar 点赞!

这篇关于脉冲星 3 月脉动 | Pulsar 2.7.1 版本发布!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/389004

相关文章

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O