美文网首页
Apache Pulsar 2.4.1 版本说明

Apache Pulsar 2.4.1 版本说明

作者: StreamNative | 来源:发表于2020-01-13 17:36 被阅读0次

    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 流程可以点此查看哦~

    相关文章

      网友评论

          本文标题:Apache Pulsar 2.4.1 版本说明

          本文链接:https://www.haomeiwen.com/subject/vrjkuctx.html