2019 年 8 月 30 日,Apache Pulsar 发布了 2.4.1 版本。
2.4.1 版本合并了社区的 100 个 PR,修复了大量漏洞,覆盖 Broker、客户端、Pulsar Functions 和 connectors 等,进一步丰富和完善了 Pulsar 作为一个云原生流数据平台的能力。
以下是 2.4.1 版本的详细信息
???? 漏洞修复
-
修复使用 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]
???????? C++
???? 漏洞修复
-
修复 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]
???????? GO
???? 漏洞修复
-
修复了分区 Topic 中消息超时的发送机制,现已修改为消息超时后会触发重发 [#4653]
???????? 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]
????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]
作者 | Jia