發行說明 - ZooKeeper - 版本 3.9.0
子任務
- ZOOKEEPER-4327 - 不穩定的測試:RequestThrottlerTest
錯誤
- 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 quit 指令總是記錄錯誤
- ZOOKEEPER-4537 - SyncThread 和 CommitProcessor 執行緒之間的競爭
- ZOOKEEPER-4549 - ProviderRegistry 可能重複初始化
- ZOOKEEPER-4565 - 設定監控路徑異常截斷,並使 chroot zookeeper 客户端失敗
- 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 - 當連線網址中提供主機名稱時,避免對主機名稱驗證進行反向 DNS 查詢
- ZOOKEEPER-4289 - 降低 Prometheus 指標的效能影響
- ZOOKEEPER-4303 - ZooKeeperServerEmbedded 可以自動指派和公開埠
- ZOOKEEPER-4464 - zooinspector 在 hex 中顯示「Ephemeral Owner」,以便與 jmx 會話輕鬆比對
- ZOOKEEPER-4467 - Request.op2String 中缺少操作碼 (addWatch)
- ZOOKEEPER-4472 - 支援個別移除持續監控
- ZOOKEEPER-4474 - ZooDefs.opNames 未使用
- ZOOKEEPER-4490 - 將 Clover 結果發佈到 SonarQube
- ZOOKEEPER-4491 - 將 SSL 支援加入 Zktreeutil
- 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 - 設定旗標後釋放 semaphore,修復 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 - 升級 netty 至 4.1.86,因為 CVE-2022-41915
- 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 錯誤