2019 年 8 月 30 日,Apache Pulsar 发布了 2.4.1 版本。
2.4.1 版本合并了社区的 100 个 PR,修复了大量漏洞,覆盖 Broker、客户端、Pulsar Functions 和 connectors 等,进一步丰富和完善了 Pulsar 作为一个云原生流数据平台的能力。
以下是 2.4.1 版本的详细信息。
Broker
漏洞修复
-
修复使用
get-partitioned-topic
命令返回错误 topic domain 的问题 #4613 -
修复 Rest API 中 get-status 请求出现死锁的问题 #4616
-
修复在 fetch reader 的
internal-stats
命令中 ManagedLedger 遇到空指针的问题 #4615 -
修复检查 schema 兼容性时,没有处理好已删除 schema 的问题 #4669
-
在 Rest API 中,把 topic-loading 请求的超时时间设置为
zooKeeperOperationTimeoutSeconds
#4805 -
修复了默认 retention 策略没有上传保存到 ZooKeeper 的问题 #4810
-
修复 retention size 错误 #4825
-
修复 ManagedLedger 中 first position 的计算错误 #4853
-
修复 ManagedLedgerImpl.asyncOpenCursor 中的并发访问错误 #4837
-
修复 Pulsar Proxy 中 getSchema 的逻辑错误 #4975
-
修复清理 namespace zookeeper node 中空指针的问题 #4965
-
升级 jackson-databind 版本#5011
-
增加对删除 Schema 的特殊判断处理,避免在添加 Schema 时发生错误 #4731
优化改进
-
在 Pulsar Admin 中,支持给动态配置添加特殊转义字符 #4611
-
在动态配置中添加删除操作的 API #4614
-
添加 Replication mtls 的配置 #4609
-
在 Pulsar Admin 中,为 partitioned-stats API 添加 perPartition 参数,控制 partition 的内容输出 #4639
-
添加 allowAutoTopicCreation,支持用户设置是否自动创建 topic #4694
-
在 Kerberos 认证中,支持用户指定 Server Type #4758
-
支持用户创建只包含一个分区的分区 Topic #4764
-
为 PulsarService 和 BrokerService 的成员变量添加获取和设置的接口,方便外部调用 #4709
-
添加设置 ack-timeout tick time 接口,减少因为使用固定值造成的内存占用 #4760
-
支持 KeyValue Schema 使用 AUTO_CONSUME 作为 key/value 的 schema #4839
-
在 Proxy 的 /metrics REST 端点,支持用户选择开启或不开启认证 #4921
Clients
Java
漏洞修复
-
修复 ProducerConfigurationData 中将 setBatcherBuilder设置为空值的错误 #4620
-
修复 Admin API 在注册 Schema 时,丢失 SchemaInfo 信息的问题 #4617
-
修复 Consumer 中,单分区 Topic 的分区下标错误 #4591
-
修复 Admin 中默认 http/https 端口的问题 #4623
-
为 Proxy 添加匿名用户的设置接口 #4733
-
在 consumer/producer 中能正确捕获 Throwable 类型。之前的版本捕获的是 Exception 类型 #4860
-
修复 Geo-replication 中消息复制地址没被处理的问题 #4930
-
修复 StructSchema 中 loadReader 类型不匹配的问题 #4962
优化改进
-
为 Producer 添加设置时钟接口,用户可以添加时钟来服务消息的发布时间 #4562
-
减少 Consumer 中不必要的 unack Message 追踪 #4595
-
支持 Consumer 获取 Producer 中设置的消息序列号 #4645
-
给 Pulsar Admin 添加读取超时的用户设置 #4762
-
支持 SchemaInfoProvider 异步获取 schema #4836
C++
漏洞修复
-
修复 C++ Client 在 Standalone 模式下 Lookup 命令出错的问题 #4625
-
修复 C++ Client 生产者在 sendAsync() 函数中,因没有足够命令会导致假死的问题 #4657
-
为 C++ Client 的日志枚举设置新名字,避免编译中遇到名字冲突 #4664
-
修复 C++ Client 中 Log4cxxLogger 日志级别名字错误 #4735
-
修复 C++ Client 选取 Snappy 作为压缩类型时的编译错误 #4972
-
用 “strand” 机制,解决 TLS Socket 读写冲突的问题 #4750
Go
漏洞修复
- 修复了分区 Topic 中消息超时的发送机制,现已修改为消息超时后会触发重发 #4653
Functions
Java
漏洞修复
-
修复在使用文件链接接口上传 Functions NAR 文件时的错误 #4577
-
修复因为 Kubernetes namespace 设置的不同,导致 Function 实例不能正常获取 status/stats 的问题 #4701
-
修复因为没有设置 output topic 导致消息不能正常 ack 的问题 #4815
-
修复 FunctionActioner.downloadFile 中文件句柄泄露的问题 #4970
-
修复在 Pulsar Functions 中使用外部管理的 runtimes 时,在节点之间移动 Functions,出现部分组件重新初始化遇到异常情况的问题 #5007
-
修复 Pulsar Sink/Source 中 State 初始化太晚造成的问题 #5046
优化改进
-
重构 Functions 模块 #4541
-
给 functions/source/sink 配置添加空值检查 #4627
-
支持给 Functions Worker 的REST API 添加角色认证 #4628
-
支持给 Functions 的上传和下载添加角色认证 #4644
-
支持使用 classloaders 加载 Pulsar Functions #4685
Go
漏洞修复
-
修复 Pulsar go function 中遗漏掉的 log 目录 #4736
-
修复 Pulsar go function 包不能执行的问题 #4743
-
修复 Pulsar go function 处理 configure 的问题 #4746
-
修复提交 function 时没有检查 jar/py/go 包配置的问题 #4814
-
添加检查,确保 functions 实现正确的接口 #4844
Python
漏洞修复
- 修复 Python Function 中 custom_object_function.py 示例中字符串转换错误 #4946
Connectors
Overview
漏洞修复
-
在发布版本中增加 pulsar-iOS-influxdb #4678
-
修复为 publish_time 字段申明 pushdown 时出现 Pulsar SQL NPE 问题 #4744
-
修复 Pulsar SQL 中 schema 的处理逻辑 #4890
-
在 pulsar-iOS-jdbc 中,如果没有操作类型提供,默认为插入操作 #4862
优化改进
-
支持删除和更新 JDBC Sink 中的 record #4358
-
把 Pulsar SQL 中的
publish_time
字段改为 timestamp 类型 #4757 -
支持用户在 Pulsar SQL 中配置 namespace 分隔符 #4749
-
在 Pulsar SQL 添加对 Pulsar 原生 Schema 的支持 #4728
-
为 Pulsar SQL 添加基础认证支持 #4779
-
在 Pulsar SQL 中,把 partition 作为内部列,方便用户查找 #4888
Tools
漏洞修复
-
修复 dashboard 中 bundles 数目计算出错的问题 #4637
-
修复 subscribeAsync 示例中的死锁问题 #4649
-
修复 docker/publish.sh 脚本不能正常发布 pulsar-all 和 pulsar-standalone 的问题 #4705
-
修复 integration-test 中 pip3 install pulsar_client 的错误 #4754
-
修复 PulsarKafkaProducer 多线程不安全的问题 #4745
-
修复 dashboard 中环境变量 no_proxy 不起作用的问题 #4867
-
修复 dashboard 中 peek message API 消息解析错误 #4918
-
添加默认的加载器,修复 pyyaml 中加载的问题 #4974
-
添加相关依赖,修复 docker 中缺少依赖的问题 #5034
-
修复 Broker metrics 中重复的 Prometheus TYPE 问题 #4183
优化改进
- 在 Pulsar Kafka Client Wrapper 中添加 Pulsar Schema 的支持 #4534
📣Join Pulsar 📣
Apache Pulsar 鼓励大家积极参与开源社区,欢迎大家积极提交 PR,具体 contribute 流程可以点此查看哦~
网友评论