Apache Curator 今天发布两个新版本,分别是 2.10.0 和 3.1.0 。 其中 2.10.0 改进内容: Bug [CURATOR-208] - InterProcessSemaphoreV2 swallows InterruptedException [CURATOR-209] - Background retry falls into infinite loop of reconnection after connection loss [CURATOR-233] - Bug in double barrier [CURATOR-244] - Creating parents with ACLProvider puts wrong ACLs on znodes [CURATOR-278] - In transactions compressed option does not work with some fluent api combinations [CURATOR-297] - Curator quickly starting+stopping a persistent ephemeral node causes dangling ephemeral node Improvement [CURATOR-279] - Semaphore Leases should return the node name [CURATOR-294] - Optimize TreeCache, fix possible concurrency issue [CURATOR-296] - Notify cache listeners when re-init completes after reconnect [CURATOR-298] - Curator NodeCache.start() is blocking even with buildInitial=false New Feature [CURATOR-287] - PersistentEphemeralNode should be generalized to accept all create modes [CURATOR-288] - Provide a mechanism to limit tree traversal in TreeCache + Return old values in NODE_REMOVED event 3.1.0 改进内容: Bug [CURATOR-208] - InterProcessSemaphoreV2 swallows InterruptedException [CURATOR-244] - Creating parents with ACLProvider puts wrong ACLs on znodes [CURATOR-271] - Curator does not run sync callback on supplied Executor [CURATOR-274] - version 2.9.0 incorrectly calls mkdirs to create container nodes, when running against zk 3.4.6 [CURATOR-281] - Usage of TestingServer fails when upgrading to 3.0 [CURATOR-284] - NullPointerException at EnsembleTracker.processConfigData [CURATOR-290] - Watcher removal is not removing internal Curator data structures [CURATOR-297] - Curator quickly starting+stopping a persistent ephemeral node causes dangling ephemeral node [CURATOR-299] - Copious "Failed to find watcher" log messages when closing Curator 3.0 recipes [CURATOR-300] - Creating a node using storingStatIn breaks Curator with a logged NullPointerException [CURATOR-302] - TestTreeCache.testKilledSession() fails in 3.0 branch Improvement [CURATOR-279] - Semaphore Leases should return the node name [CURATOR-294] - Optimize TreeCache, fix possible concurrency issue [CURATOR-296] - Notify cache listeners when re-init completes after reconnect [CURATOR-298] - Curator NodeCache.start() is blocking even with buildInitial=false New Feature [CURATOR-287] - PersistentEphemeralNode should be generalized to accept all create modes [CURATOR-288] - Provide a mechanism to limit tree traversal in TreeCache + Return old values in NODE_REMOVED event Task [CURATOR-289] - Implement CURATOR-278 in Curator 3.0 Test [CURATOR-291] - Fix numerous "NamespaceWatcherMap is not empty" errors in test Apache Curator 2.10.0 和 3.1.0 发布下载地址