版本說明 - ZooKeeper - 版本 3.9.2
子任務
- ZOOKEEPER-910 - 使用 SelectionKey.isXYZ() 方法,而非複雜的二進位邏輯
- ZOOKEEPER-4728 - 如果啟動時 DNS 尚未準備好,Zookeepr 無法永遠繫結到自身
錯誤
- ZOOKEEPER-2590 - exists() 應檢查讀取 ACL 權限
- ZOOKEEPER-4236 - Java Client SendThread 建立許多不必要的 Login 物件
- ZOOKEEPER-4415 - Zookeeper 3.7.0:伺服器偏好設定不接受客戶端支援的通訊協定版本 [TLSv1.3]
- ZOOKEEPER-4730 - 從 admin 和 4lw dirs 指令回報不正確的 datadir 和 logdir 大小
- 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 - 為 leader 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 以十六進位制顯示「Ephemeral Owner」,以便與 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 - 設定旗標後釋放 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 - 由於 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 錯誤