Skip to content

Commit

Permalink
initial checkin of 0.26 src tarball
Browse files Browse the repository at this point in the history
  • Loading branch information
RJ committed Feb 18, 2009
0 parents commit 2b4acb1
Show file tree
Hide file tree
Showing 157 changed files with 64,062 additions and 0 deletions.
7 changes: 7 additions & 0 deletions AUTHORS
@@ -0,0 +1,7 @@
Brian Aker, brian@tangent.org -- Client Library, Tools
Mark Atwood, -- Tools, Docs
Patrick Galbraith, -- C++ Interface
Tim Bunce, -- Docs
Trond Norbye, trond.norbye@sun.com -- Binary protocol, Misc
Yin Chen, -- Ketama Work
Toru Maesaka, dev@torum.net -- Stats analysis
32 changes: 32 additions & 0 deletions COPYING
@@ -0,0 +1,32 @@
Software License Agreement (BSD License)

Copyright (c) 2007, TangentOrg (Brian Aker)
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.

* Neither the name of TangentOrg nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
258 changes: 258 additions & 0 deletions ChangeLog
@@ -0,0 +1,258 @@
0.26 Thu Jan 29 13:05:50 PST 2009
* Fix for decrement on hash key
* Fixed assert that was catching bad memset() call in host_reset()
* Fix purge issue for blocked IO which has been stacked.

0.25 Fri Nov 28 09:59:35 PST 2008
* Jenkins HASH added.
* Update of Murmur hash code
* Support explicit weights (Robey Pointer, Evan Weaver)
* Bugfix for ketama continuum (Robey Pointer)
* New behavior MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY (Robey Pointer)
* Don't ever call stats for weighting servers, because it is unstable.

0.24 Tue Sep 16 02:59:03 PDT 2008 (never released)
* Cleanup compile warnings.
* Fix issues in partitioning by keys.
* Fixed "fail case" to make sure when calling memcached_clone() no
memcached_st is over written.
* New memcached_server_by_key() method for finding a server from
a key.
* memcached_server_free() was added for freeing server structures.


0.23 Sun Sep 7 08:13:59 PDT 2008
* Added strings.h header for Solaris 9
* Solaris 64bit fix.
* Support for weighted Ketama from Yin Chen.
* Fix for Chinese
* Fix for 0 length key to trigger bad key.
* Added behaviors MEMCACHED_BEHAVIOR_SND_TIMEOUT, MEMCACHED_BEHAVIOR_RCV_TIMEOUT
* Support for Binary Protocol added

0.22 Mon Jul 14 09:24:11 PDT 2008
* Fix where master key was no being checked for "bad key"
* Fixed bugs in stats output (thread output was wrong)
* Clarified MEMCACHED_BAD_KEY_PROVIDED is return for bad prefix key.
* Found a bug in Flags return (Jacek Ostrowski)
* Fixed issue with compiling on Visual Studio

0.21 Fri May 23 18:34:09 PDT 2008
* Change of char * to const char * for all key based functions.
* New MEMCACHED_CALLBACK_PREFIX_KEY added. You can now create domains for
values.
* Fixed bug introducd in last version on memcp
* Fix for death of file io to call shutdown()

0.20 Mon May 5 08:34:26 PDT 2008
* New consistent distribution tests.
* Found a memory leak when a server constantly fails.
* Fix in watchpoint macro
* Changed default timeout to 1 second for poll timeouts
* Wheel uses less memory/dynamic allocation for size (no longer limited to
512 hosts by default.
* memslap memory leak fix
* Added Ketama distribution
* Fix assert.h compile problem on CentOS

0.19 Wed Apr 9 09:30:53 PDT 2008
* Documentation fix in libmemcached.
* Fixed bug where sort was always occuring on hosts
* Logic fix in branch prediction (thanks Jay!)
* Read through cached support.
* Fixed for cas by key operation.
* Fix for memcached_server_st list structures to have correct count.
* Added callback MEMCACHED_CALLBACK_DELETE_TRIGGER
* Removed function call in favor of macro (aka cut out some instructions)


0.18 Sun Mar 16 21:57:55 PDT 2008
* Fix plus tests for non-zero value objects and flags.
* MEMCACHED_HASH_MURMUR added for murmur algorithm provided.
* MEMCACHED_BEHAVIOR_RETRY_TIMEOUT added to keep connecting from looping
on timeout.
* gcc branch prediction optimizations
* Refactored entire tree to make include files cleaner
* Fixed leaked socket.

0.17 Wed Feb 27 03:33:29 PST 2008
* MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT added for connect timeout in
non-block mode.
* Incompatible change in memcached_behavior_set() api. We now use a
uint64_t, instead of a pointer.
* Fix for storage of values for zero.
* memcached_server_cursor() function added to API for cycling through servers.

0.16 Mon Feb 18 00:30:25 PST 2008
* Work on the UDP protocol
* Added get_by_key, set_by_key tests for C++ API
* Fix for limit_maxbytes to be 64bit in stats
* Added Atom Smasher test (scale baby, scale!)
* Servers are now sorted, meaning that servers are now ordered so that
clients with the same lists, will have same distribution. (Idea from
Ross McFarland). MEMCACHED_BEHAVIOR_SORT_HOSTS was added to enable
this support.
* Added MEMCACHED_BAD_KEY_PROVIDED error for auto, set, and get operations.
MEMCACHED_BEHAVIOR_VERIFY_KEY was added to enable this feature.
* More error messages on command line tools.
* Fixed bugs in memcached_cas() operator.
* Fix to loop through interfaces

0.15 Tue Jan 29 14:55:44 PST 2008
* More work on the C++ API.
* Bug fixes around block corner cases.
* Slight performance increase in both read() and write().

0.14 Tue Jan 22 06:21:49 PST 2008
* For for bug found by Evan Weaver where increment() was not returning
propper error of value was not found.
* Fix for bad null pointer on flag by Toru Maesaka.
* Refactor of all IO to just pass in the active server
* Problem configuring (PKG_CHECK_MODULES) fixed by removal of "rpath" in
support/libmemcached.pc.in (Thanks to Ross McFarland).
* Added memcached_callback_get()/set()
* First prototype of C++ interface
* Updated docs for uint16_t changes in previous release

0.13 Sun Jan 13 06:51:50 PST 2008
* MEMCACHED_BEHAVIOR_USER_DATA added to store user pointer.
* Fix for failure to connect to invalidate socket.
* Patch from Marc Rossi to add --hash option for memcp, memrm, and memcat.
* Kevin's patch for fixing EOF issues during a read.
* Toru Maesaka patch for stats mismatch
* Fix for when CRC return 0
* Fixed uint16_t issues around flags. Turns out the documentation on the
protocol was wrong.
* Lingering socket fixes for FreeBSD.
* Patches from Kevin Dalley for FreeBSD 4.0
* Added multi delete functions.
* All get key returns have C style null termination
* If memcached_server_list_append is passed NULLs instead of pointers it
returns NULL.
* Added memcached_fetch_execute() method
* Found a bug where memcached_fetch() was not null terminating the result
value.
* memcached_behavior() now has the ability to set "buffering" so that
data is not automatically flushed.
* Behavior change, buffered commands now return MEMCACHED_BUFFERED

0.12 Tue Dec 11 15:20:55 PST 2007
* Updates for consistent hashing
* IPV6 support
* Static allocation for hostname (performance)
* Fixed bug where in non-block mode all data might not have been sent on
close().
* Refactor of memcached_get() to use common code.
* Change in value fetch, MEMCACHED_END is now returned when keys are no
longer in the pipe.
* Fixed bug where key could be out of range of characters
* Added _by_key() methods to allow partitioning of values to particular
servers.
* MEMCACHED_DEFAILT_TIMEOUT is now set to a non -1 value.
* Performance improvements in get operations.

0.11 Mon Nov 26 01:05:52 PST 2007
* Added option to memcache_behavior_set() so that poll() can be timed out.
* Fixed memory leak in case of using memcached_fetch_result() where no
value was returned.
* Bug fixed in memcached_connect() which would cause servers that
did not need to be enabled to be enabled (performance issue).
* Rewrote bounds checking code for get calls.
* "make test" now starts its own memcached servers.
* Added Hseih hash (MEMCACHED_HASH_HSIEH), which is showing about 7%
performance over standard hash.

0.10 Tue Nov 20 23:22:31 PST 2007
* Added append binary test.
* Added MEMCACHED_BEHAVIOR_CACHE_LOOKUPS behavior so that you can save on
multiple DNS lookups.
* Added CAS support, though this is optional and must be enabled during
runtime.
* Added the utility memerror to create human readable error strings
from memcached errors (aka convert ints to strings)
* Fixed type in MEMCACHED_HOST_LOOKUP_FAILURE
* Fixed bug where hostname might not be null terminated
* Moved to using gethostbyname_r() on Linux to solve thread safety issue
* Added -rpath support for pkg-config
* Documentation fix for hash setting using memcached_behavior_set()

0.9 Thu Nov 15 07:44:00 PST 2007
* fix for when no servers are definied.
* different buffers are now kept for different connections to
speed up async efforts
* Modified increment/decrement functions to return uint64_t values
* Fixed bug in cases where zero length keys were provided
* Thread cleanup issue in memslap
* No hostname lookup on reconnect
* Fix for flag settings (was doing hex by accident!)
* Support for 1.2.4 server additions "prepend" and "append" added.
* Added memcached_version()... not sure if I will make this public
or not.

0.8 Mon Nov 5 10:40:41 PST 2007
* Adding support for CRC hash method
* Adding support for UNIX sockets
* Added additional HASHing methods of FNV1_64,FNV1A_64, FNV1_32, FNV1A_32
* Added pkgconfig support (PKG_CHECK_MODULES)
* Fixed conflict with defined type in MySQL
* Added memcached_result_st structure and functions to manipulate it.

0.7 Tue Oct 30 09:24:05 PDT 2007
* Poved to poll() from select()
* Fixes in internal string class for allocation of large numbers of
strings.
* memcached_mget() function now sends keys as it parses them instead of
building strings as it goes.
* Propper flush now for making sure we get all IO sent even when in
non-block mode.
* Added --enable-debug rule for configure
* All asserts() removed (hey this is going into production!)


0.6 Wed Oct 17 08:41:35 PDT 2007
* get value returns are now null terminated (request by Cal Heldenbrand)
* Fixed connections for more hosts then two.
* Rewrite of the read/write IO systems to handle different sorts of host
failures.
* Added man pages for all functions and tools
* Raised buffer size for readinng/writing to 16K
* You can now optionally set the socket size for recv/send via
memached_behavior_set/get.

0.5 Tue Oct 9 00:22:25 PDT 2007
* Ruby maintainer mentioned TCP_NODELAY patch he had added. Added this to C
library as well. (Eric Hodel drbrain@segment7.net)
* Added support script for set_benchmark
* Updated memslap to allow testing of TCP_NODELAY
* Updated memslap to support --flush (aka dump memcache servers before
testing)
* Fixed bug in multiple hosts not being activated
* Added environmental variable MEMCACHED_SERVERS which can be used to
set the servers list.
* fixed memcached_stat method (and now memstat works)
* server connect now happens on demand.
* Help for all command line applications

0.4 Wed Oct 3 10:28:50 PDT 2007
* Added buffered IO to write calls for keys
* Added buffered IO for reads
* memstat was broken (bad if/else on connect)
* New non-blocking IO (not default yet). Mucho faster
* Refactor of test system.
* memslap crash solved

0.3 Mon Oct 1 06:37:52 PDT 2007
* Jeff Fisher <guppy@techmonkeys.org> provided a spec file
* Added "make rpm" around dist file
* Added support for Solaris
* Added support for DTrace
* Fixed read to be recv and write to be send
* Bug fix where memstat would core if no server was found
* Added memslap tool (load generator)
* Numerous bug fixes in library
* Added calls to library for creating host lists (see
text cases to understand how to use this).

0.2 Thu Sep 27 03:46:57 PDT 2007
* First public version

0 comments on commit 2b4acb1

Please sign in to comment.