发行说明 - ZooKeeper - 版本 3.9.0
子任务
- ZOOKEEPER-4327 - 不稳定的测试:RequestThrottlerTest
Bug
- ZOOKEEPER-2108 - 使用 GCC 4.7 或更高版本时,ZkAdaptor.cc 中的编译错误
- ZOOKEEPER-3652 - ClientCnxn 中的同步不当
- ZOOKEEPER-3908 - zktreeutil 多个问题
- ZOOKEEPER-3996 - 不稳定的测试:ReadOnlyModeTest.testConnectionEvents
- ZOOKEEPER-4026 - 嵌入在 MULTI 请求中的 CREATE2 请求仅获取常规 CREATE 响应
- ZOOKEEPER-4296 - 在未打开的情况下关闭 ClientCnxnSocketNetty 时出现 NullPointerException
- ZOOKEEPER-4308 - 不稳定的测试:EagerACLFilterTest.testSetDataFail
- ZOOKEEPER-4393 - 在 FIPS 模式下连接到 Zookeeper 时出现问题
- ZOOKEEPER-4466 - 支持在同一路径上使用不同的监视模式
- ZOOKEEPER-4471 - 删除 WatcherType.Children 会中断持久监视器的子事件
- ZOOKEEPER-4473 - zooInspector 创建根节点失败,路径验证
- ZOOKEEPER-4475 - 持久递归监视器获取 NodeChildrenChanged 事件
- ZOOKEEPER-4477 - 自 Java 9 起,单次 Kerberos 票证续订失败可能会阻止所有后续续订
- ZOOKEEPER-4504 - ZKUtil#deleteRecursive 导致 HDFS HA 功能中出现死锁
- ZOOKEEPER-4505 - CVE-2020-36518 - 将 jackson databind 升级到 2.13.2.1
- ZOOKEEPER-4511 - 不稳定的测试:FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics
- ZOOKEEPER-4514 - ClientCnxnSocketNetty 抛出 NPE
- ZOOKEEPER-4515 - ZK Cli 退出命令始终记录错误
- ZOOKEEPER-4537 - SyncThread 和 CommitProcessor 线程之间的竞争
- ZOOKEEPER-4549 - ProviderRegistry 可能被重复初始化
- ZOOKEEPER-4565 - 配置监视路径异常截断,导致 chroot zookeeper 客户端失败
- ZOOKEEPER-4647 - 由于我们尝试模拟 InetAddress,因此测试无法在 JDK20 上通过
- ZOOKEEPER-4654 - 修复 Util.cc 中的 C 客户端测试编译错误。
- ZOOKEEPER-4674 - C 客户端测试无法在 CI 上通过
- ZOOKEEPER-4719 - 使用 bouncycastle jdk18on 而不是 jdk15on
- ZOOKEEPER-4721 - 将 OWASP Dependency Check 升级到 8.3.1
新功能
- ZOOKEEPER-4570 - 用于获取快照和流出数据的管理员服务器 API
- ZOOKEEPER-4655 - 传达触发 WatchEvent 触发的 Zxid
改进
- ZOOKEEPER-3731 - 禁用 HTTP TRACE 方法
- ZOOKEEPER-3806 - TLS - 客户端信任/密钥存储的动态加载
- ZOOKEEPER-3860 - 当连接 URL 中提供了主机名时,避免在主机名验证中进行反向 DNS 查找
- ZOOKEEPER-4289 - 减少 Prometheus 指标对性能的影响
- ZOOKEEPER-4303 - ZooKeeperServerEmbedded 可以自动分配和公开端口
- ZOOKEEPER-4464 - zooinspector 以十六进制显示“临时所有者”,以便轻松匹配 jmx 会话
- ZOOKEEPER-4467 - Request.op2String 中缺少操作码 (addWatch)
- ZOOKEEPER-4472 - 支持逐个删除持久性监视器
- ZOOKEEPER-4474 - ZooDefs.opNames 未使用
- ZOOKEEPER-4490 - 将 Clover 结果发布到 SonarQube
- ZOOKEEPER-4491 - 为 Zktreeutil 添加 SSL 支持
- ZOOKEEPER-4492 - 将 readOnly 字段合并到 ConnectRequest 和 Response 中
- ZOOKEEPER-4494 - 修复错误消息格式
- ZOOKEEPER-4518 - 从 PrepRequestProcessor#pRequest 方法中移除无用的日志
- ZOOKEEPER-4519 - 可测试接口应具有可测试的 testableCloseSocket() 方法
- ZOOKEEPER-4529 - 将 netty 升级到 4.1.76.Final
- ZOOKEEPER-4531 - 回滚 Netty TCNative 更改
- ZOOKEEPER-4551 - 当客户端关闭其连接时,不要记录垃圾堆栈跟踪
- ZOOKEEPER-4566 - 创建用于递归快照分析的工具
- ZOOKEEPER-4573 - 将请求字节缓冲区封装在 Request 中
- ZOOKEEPER-4575 - ZooKeeperServer#processPacket 记录记录而不是字节
- ZOOKEEPER-4616 - 将开发环境的 docker 镜像升级为解决 CVE
- ZOOKEEPER-4622 - 添加 Netty-TcNative OpenSSL 支持
- ZOOKEEPER-4636 - 修复 AIX 的 zkServer.sh
- ZOOKEEPER-4657 - 发布 SBOM 工件
- ZOOKEEPER-4659 - 由于 OWASP 在 1.4 CVE-2021-37533 上失败,将 Commons CLI 升级到 1.5.0
- ZOOKEEPER-4660 - 针对 CVE-2021-37533 抑制 OWASP 误报
- ZOOKEEPER-4661 - 将 Jackson Databind 升级到 2.13.4.2,以解决 CVE-2022-42003 CVE-2022-42004
- ZOOKEEPER-4705 - 限制 GitHub 合并按钮仅允许压扁提交
- ZOOKEEPER-4717 - 缓存请求中的序列化数据以避免重复序列化。
- ZOOKEEPER-4718 - 在序列化中移除不必要的堆内存分配有助于减少 GC 压力。
测试
- ZOOKEEPER-4630 - 修复 ConnectionMetricsTest.testRevalidateCount 中的 NPE
- ZOOKEEPER-4676 - ReadOnlyModeTest 无法在 JDK20 上编译(已移除 Thread.suspend)
愿望
- ZOOKEEPER-3615 - 编写 TLA+ 规范以验证 Zab 协议
- ZOOKEEPER-4710 - 通过在设置标志后释放信号量来修复 ZkUtil deleteInBatch()
- ZOOKEEPER-4714 - 提高 syncRequestProcessor 性能
- ZOOKEEPER-4715 - 在 testGetCurrentLogSize 中验证文件大小和位置。
任务
- ZOOKEEPER-4479 - 测试:C 客户端测试 TestOperations.cc testTimeoutCausedByWatches1 在 CI 上非常不稳定
- ZOOKEEPER-4482 - 修复 commons-io 和 commons-cli 的 LICENSE 文件
- ZOOKEEPER-4599 - 升级 Jetty 以避免 CVE-2022-2048
- ZOOKEEPER-4641 - GH CI 由于错误而失败:隐式声明函数 FIPS_mode
- ZOOKEEPER-4642 - 删除 Travis CI
- ZOOKEEPER-4649 - 由于 CVE-2022-41915,将 netty 升级到 4.1.86
- ZOOKEEPER-4669 - 将 snappy-java 升级到 1.1.9.1(以支持 M1 mac)
- ZOOKEEPER-4688 - 将
cyclonedx-maven-plugin
升级到 2.7.6 - ZOOKEEPER-4700 - 更新 Jetty 以修复 CVE-2023-26048 和 CVE-2023-26049
- ZOOKEEPER-4707 - 更新 snappy-java 以解决多个 CVE
- ZOOKEEPER-4709 - 将 Netty 升级到 4.1.94.Final
- ZOOKEEPER-4716 - 将 jackson 升级到 2.15.2,抑制两个误报 CVE 错误