zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jordan Zimmerman <jor...@jordanzimmerman.com>
Subject ANN: Curator 1.3.0
Date Thu, 10 Jan 2013 23:02:25 GMT
* MAJOR CHANGE (thus a version bump): I'd always thought that if the client is disconnected
from the server
long enough then an Expired event would be generated. Testing, however, shows this not to
be the case. I believe
it's related to ZOOKEEPER-1159. The behavior associated with this is that if the clients lost
connection to the
cluster for longer than the session expiration they would _never_ be able to reconnect. The
connection would
be permanently lost. Many users were seeing this as endless log messages indicating "Connection
timed out
for connection...". As a workaround, in 1.3.0+ when the Curator state changes to LOST, a flag
will be set
so that the next time Curator needs to get the ZooKeeper instance, the current instance will
be closed and a new
ZooKeeper instance will be allocated (as if the session had expired).

* Added checks for illegal namespaces.

* Issue 232: NodeCache wasn't handling server connection issues well. It would repeatedly
execute checkExists()
with a watcher causing the heap to fill with watcher objects.

* Issue 233: An internal idiom being used to create an EnsurePath instance with the parent
of a passed in path
wasn't correct. Due to an unfortunate implementation of ZKPaths.PathAndNode (mea culpa) the
root path is specified
differently than non-root paths. To work around this, I added a method to EnsurePath - excludingLast()
- that
can be used instead of the idiom.

* Issue 230: Added a filter to control which IP address are returned by ServiceInstanceBuilder.getAllLocalIPs().
Set the filter via ServiceInstanceBuilder.setLocalIpFilter().

View raw message