|
|
-
ANN: Curator 1.2.6Jordan Zimmerman 2013-01-01, 23:45
* Issue 214: Added rebuildNode method to PathChildrenCache.
* Added a NodeCache to compliment the PathChildrenCache. The doc is here: https://github.com/Netflix/curator/wiki/Node-Cache * Creating nodes in background wasn't handling createParentsIfNeeded. * Issue 216: Rewrote LeaderLatch to better handle connection/server instability. At the same time, made most of the calls async which will help concurrency and performance. * Issue 217: DistributedAtomicLong (et al) should use ensurePath internally to be consistent with other recipes. * Issue 220: When creating a ServiceCacheImpl, a PathChildrenCache is created. The cache loads all existing services, but because preloading does not create events, ServiceCacheImpl never notices this. ServiceCacheImpl.getInstances() will return an empty list. * Issue 221: client.getACL().forPath("/") throws a NullPointerException, because the Zookeeper API expects a Stat, but GetACLBuilderImpl initializes responseStat to null. * Issue 222: Counter and log messages reversed in RetryLoop.takeException(). * New feature: CuratorTempFramework. Temporary CuratorFramework instances are meant for single requests to ZooKeeper ensembles over a failure prone network such as a WAN. The APIs available from CuratorTempFramework are limited. Further, the connection will be closed after a period of inactivity. Based on an idea mentioned in a post by Camille Fournier: http://whilefalse.blogspot.com/2012/12/building-global-highly-available.html - details here: https://github.com/Netflix/curator/wiki/Temporary-Framework * Issue 224: ExponentialBackoffRetry was not protected against edge-cases where a too big maxRetries argument was used. It now also incorporates a maxSleep value. |