blob: c85a6c0ad86ca53007b6f488ce66ed10f98e3ec5 [file] [log] [blame]
Release 2.1.1
2008-04-30 Andrew Kornev <akornev@users.sourceforge.net>
* changed the distributino package name to "c-client-src"
Release 2.1.0
2008-04-30 Andrew Kornev <akornev@users.sourceforge.net>
* added the client latency diagnostics; the client prints a warning when the
reponse latency exceeds 20ms
* modified logging format to report the znode path for which the zookeeper
operation is called
* fixed a minor bug where error messages were missing for some of the newer
zookeeper error codes (ZCLOSING and ZNOTHING).
* improved logging by adding the XID to the message to make it easy to match
requests to responses
* fixed the bug causing sporadic session termination and timeouts
* added a new return code to zookeeper_process() -- ZNOTHING --
that indicates that the socket has no more data to read
* more unit tests added
Release 1.1.3
2008-02-07 Andrew Kornev <akornev@users.sourceforge.net>
* get_xid() is not thread-safe (xid initialization race condition
in the multi-threaded mode).
* the I/O thread doesn’t automatically terminate on AUTH_FAILURE and
SESSION_EXPIRED events.
* all session events should be processed on the completion thread.
* PING operation doesn’t atomically enqueue the completion and
send buffers like other operations do.
* corrected zookeeper_init() doxygen docs.
* new unit tests added.
Release 1.1.2
2008-01-24 Andrew Kornev <akornev@users.sourceforge.net>
* fixed a race condition caused by the code in zookeeper_process()
and free_completions() setting sc->complete to 1 without proper
synchronization;
* fixed zoo_get() not updating buffer_len value with the actual
buffer length on return; added missing enter_critical/leave_critical
calls to the async ZK operations.
* Replaced select() with poll() to fix the problem with the FD_SET
macro causing stack corruption for FDs higher than 1024
* Added zoo_set_log_stream() to the public API. The function allows
applications to specify a different log file.
* Removed unused declarations from zookeeper.h (ACL related)
* changed zoo_get() signature to take a pointer to buffer length.
The function sets the parameter to the actual data length upon return.
* the watcher callback now takes the zhandle as its first parameter. This
is to avoid a race condition in the multi-threaded client when a watcher
is called before zookeeper_init() has returned.
* fixed zookeeper_close() resource leaks and race conditions,
fixed the race condition causing xid mismatch.
* added support for cppunit, added new targets: "check" and "run-check"
to build and run unit tests.
* Changed the signature of zookeeper_init(): it now takes a context pointer
as a parameter. This is to avoid a race condition in the multi-threaded client.
* Using a self-pipe rather than SIGUSR1 to wake up select() in the I/O thread
* Added the doxygen target to the autoconf scripts
* Pulled out the logging functionality from zookeeper.c to zk_log.c/.h.
Fixed a minor issue with PING responses being unnecessarily put on
the completion queue rather than simply dropped. Make use of DLL_EXPORT
symbol for building shared lib on cygwin.
* Implemented new Zookeeper operation sync() to flush the leader channel
to ensure that all updates have reached the followers.
* Synchronous methods not being handled properly on disconnect
* breed: fixed an incorrect parameter passed to zookeeper API by
the Sync API wrapper functions
* breed: the set and delete commands now support both Sync and Async API.
Prefix the command name with an 'a' to call the Async API: aset, adelete
* Make sure mutexes and condition variables are properly initialized
and destroyed
* Fixed zookeeper_close() causing core dumps with mt_adaptor
Release 1.0.0
2007-11-27 Andrew Kornev <akornev@users.sourceforge.net>
* configure.ac and Makefile.am added support for GNU autotools
* recordio.c/.h updated jute IO routines to use bit-explicit integer types
(int32_t vs. int, and int64_t vs. long long)
* README rough draft