发行说明 - ZooKeeper - 版本 3.9.2
子任务
- ZOOKEEPER-910 - 使用 SelectionKey.isXYZ() 方法,而不是复杂的二进制逻辑
- ZOOKEEPER-4728 - 如果启动时 DNS 尚未就绪,Zookeepr 无法永久绑定到自身
错误
- ZOOKEEPER-2590 - exists() 应检查读取 ACL 权限
- ZOOKEEPER-4236 - Java 客户端 SendThread 创建了许多不必要的 Login 对象
- ZOOKEEPER-4415 - Zookeeper 3.7.0:客户端支持的协议版本 [TLSv1.3] 不被服务器首选项接受
- ZOOKEEPER-4730 - admin 和 4lw dirs 命令报告的数据目录和日志目录大小不正确
- ZOOKEEPER-4785 - 在 DIFF 同步期间,Learner.syncWithLeader() 中的竞争条件导致事务丢失
改进
- ZOOKEEPER-3486 - 添加有关如何为管理服务器配置 SSL/TLS 的文档
- ZOOKEEPER-4756 - 合并脚本应使用 GitHub api 来合并拉取请求
- ZOOKEEPER-4778 - 修补 jetty、netty 和 logback 以消除高严重性漏洞
- ZOOKEEPER-4794 - 减少 ZKDatabase#committedLog 内存使用量
- ZOOKEEPER-4801 - 为 ZkDataBase#committedLog 添加内存大小限制策略
- ZOOKEEPER-4799 - 重构 addWatch 命令中的 ACL 检查
愿望
- ZOOKEEPER-4807 - 为领导者 goodbyte 日志添加 sid
发行说明 - ZooKeeper - 版本 3.9.1
改进
- ZOOKEEPER-4732 - 改善可重现构建
- ZOOKEEPER-4753 - 在仲裁授权中明确处理 DIGEST-MD5 与 GSSAPI
任务
- ZOOKEEPER-4751 - 将 snappy-java 更新到 1.1.10.5 以解决 CVE-2023-43642
- ZOOKEEPER-4754 - 更新 Jetty 以避免 CVE-2023-36479、CVE-2023-40167 和 CVE-2023-41900
- ZOOKEEPER-4755 - 处理 Netty CVE-2023-4586
发行说明 - ZooKeeper - 版本 3.9.0
子任务
- ZOOKEEPER-4327 - 不稳定的测试:RequestThrottlerTest
错误
- ZOOKEEPER-2108 - ZkAdaptor.cc 中的编译错误,使用 GCC 4.7 或更高版本
- 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 quit 命令始终记录错误
- ZOOKEEPER-4537 - SyncThread 和 CommitProcessor 线程之间的竞争
- ZOOKEEPER-4549 - ProviderRegistry 可能被重复初始化
- ZOOKEEPER-4565 - 配置监视路径异常截断并导致 zookeeper 客户端 chroot 失败
- ZOOKEEPER-4647 - 测试未通过 JDK20,因为我们尝试模拟 InetAddress
- ZOOKEEPER-4654 - 修复 C 客户端测试编译错误 Util.cc。
- 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 - 测试:CI 上的 C 客户端测试 TestOperations.cc testTimeoutCausedByWatches1 非常不稳定
- 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 错误