Trond Norbye [Tue, 3 Nov 2009 13:09:13 +0000 (14:09 +0100)]
Added MEMCACHED_BEHAVIOR_KETAMA_COMPAT_MODE
Trond Norbye [Tue, 3 Nov 2009 09:21:32 +0000 (10:21 +0100)]
Merge from Mike Tsai
Brian Aker [Sun, 25 Oct 2009 02:46:28 +0000 (19:46 -0700)]
NULL commit
Brian Aker [Sun, 25 Oct 2009 02:46:10 +0000 (19:46 -0700)]
Trond's fix for Mark's build issue
Brian Aker [Sun, 25 Oct 2009 02:31:14 +0000 (19:31 -0700)]
Merge Trond
Trond Norbye [Fri, 23 Oct 2009 07:18:54 +0000 (09:18 +0200)]
Bug 458834: Fixed unintended fallthrough from OPT_ADD
mike tsai [Thu, 22 Oct 2009 23:05:00 +0000 (16:05 -0700)]
Merging changes from trunk
mike tsai [Thu, 22 Oct 2009 22:53:58 +0000 (15:53 -0700)]
Added a new test called output_ketama_weighted_keys. It prints the hashing result
for hashing keys 0-9999 and outputs a file called ketama_keys.test.
We can then use this file to test ketama hashing in other libraries like spymemcached.
With a new class I just checked in called KetamaKeysTest (must download source from github).
javac -cp target/classes src/test/manual/net/spy/memcached/test/KetamaKeysTest.java
java -cp target/test/classes:target/classes:src/test/manual net.spy.memcached.test.KetamaKeysTest > ketama_keys.txt
To test the ketama hashing is working the same for both libraries, I ran this command:
$ cmp ketama_keys.txt /sandbox/b-server-3-4/srcroot/svr/import/common/java/java-memcached-client/ketama_keys.txt
Brian Aker [Wed, 21 Oct 2009 00:01:00 +0000 (17:01 -0700)]
Update from Padraig, one additional valgrind warning I found cleaned up
Padraig O'Sullivan [Tue, 20 Oct 2009 18:16:41 +0000 (14:16 -0400)]
Updated the C++ interface example to print out statistics that are retrieved
using the getStats() method.
Padraig O'Sullivan [Tue, 20 Oct 2009 18:08:40 +0000 (14:08 -0400)]
Added some doxygen comments for the getStats() method.
Padraig O'Sullivan [Tue, 20 Oct 2009 18:07:07 +0000 (14:07 -0400)]
Added an initial version of getStats() to the C++ interface.
Padraig O'Sullivan [Tue, 20 Oct 2009 17:41:00 +0000 (13:41 -0400)]
Freed memory after a call to memcached_fetch
Padraig O'Sullivan [Tue, 20 Oct 2009 17:39:42 +0000 (13:39 -0400)]
Made sure memory was freed after call to memcached_get_by_key.
Padraig O'Sullivan [Tue, 20 Oct 2009 17:38:53 +0000 (13:38 -0400)]
Made sure memory was freed after calling memcached_get.
Padraig O'Sullivan [Tue, 20 Oct 2009 17:23:50 +0000 (13:23 -0400)]
Merge from trunk.
mike tsai [Mon, 19 Oct 2009 23:37:48 +0000 (16:37 -0700)]
Ketama hashing is now compatable with spymemcached. The server key was not in the right format. Now changed to hostname/ip:port-index.
Brian Aker [Fri, 16 Oct 2009 15:01:26 +0000 (08:01 -0700)]
Fix typo
Brian Aker [Wed, 14 Oct 2009 23:47:10 +0000 (16:47 -0700)]
Merging Trond
Trond Norbye [Wed, 14 Oct 2009 18:50:03 +0000 (20:50 +0200)]
Refactor: memcached_mget_execute -> memcached_mget_execute_by_key
Trond Norbye [Wed, 14 Oct 2009 15:39:55 +0000 (17:39 +0200)]
mget with replication didn't work if you had a cache miss
Trond Norbye [Wed, 14 Oct 2009 13:18:07 +0000 (15:18 +0200)]
Fix problems with multigets and replication
The current code could go out of sync and send multiple "NOOP" to the same
server depending on the replica number to get, and the fetch-code isn't
capable of handling that. The memcached_mget_execute code also complcates this
because it could process some of the messages while receiving them so we
cannot reset the get sequence if we are able to send out the commands but
not the NOOP... To create a sane patch for this I disabled the buffered mode.
It will increase the number of packets sent to the server, but at least we
have a well defined behavior.
Trond Norbye [Wed, 14 Oct 2009 11:40:42 +0000 (13:40 +0200)]
Fix compile warnings generated by gcc 4.4.1
Trond Norbye [Wed, 14 Oct 2009 10:31:33 +0000 (12:31 +0200)]
Bug #447237: const-correctness in interface
Brian Aker [Tue, 13 Oct 2009 15:40:04 +0000 (08:40 -0700)]
Updating for date.
Brian Aker [Tue, 13 Oct 2009 15:39:24 +0000 (08:39 -0700)]
Updated spec file.
Trond Norbye [Tue, 13 Oct 2009 15:31:38 +0000 (17:31 +0200)]
Added documentation for memcached_mget_execute
Brian Aker [Tue, 13 Oct 2009 15:24:14 +0000 (08:24 -0700)]
Updated for release
Trond Norbye [Tue, 13 Oct 2009 10:05:51 +0000 (12:05 +0200)]
Initial implementation of memcached_mget_execute
Brian Aker [Mon, 12 Oct 2009 22:22:40 +0000 (15:22 -0700)]
Merging bug fix for wrong retry counter.
Trond Norbye [Mon, 12 Oct 2009 21:31:25 +0000 (23:31 +0200)]
Simplify wrong_failure_counter_test to only test the changed code
The original version of wrong_failure_counter_test didn't work on gaz because
the server_failure_counter was already set when entering the test case. The
purpose of the test was to ensure that memcached_quit didn't increment the
server_failure_counter, and to do so it tried to set different behavior flags.
Some of these would cause a really low retry timeout, which in turn could
cause "problems" on a slow server.
There was another problem in memcached_quit_server on some platforms caused
by the draining of the input pipe from from the server. This function could
get a read error, resulting in memcached_quit_server being called
recursively but this time signaling an IO error causing the counter to be
increased. We should ignore these errors, because they are triggered
while we are draining the stream from the server.
Trond Norbye [Mon, 12 Oct 2009 20:56:29 +0000 (22:56 +0200)]
Fix compile warning from gcc (assert may not terminate the program if NDEBUG is set)
Trond Norbye [Mon, 12 Oct 2009 20:01:44 +0000 (22:01 +0200)]
Merged Jean-Charles Redoutey
Brian Aker [Mon, 12 Oct 2009 16:51:55 +0000 (09:51 -0700)]
Updating AUTHORS file.
Brian Aker [Mon, 12 Oct 2009 16:10:17 +0000 (09:10 -0700)]
Merge from Trond
Brian Aker [Mon, 12 Oct 2009 15:54:00 +0000 (08:54 -0700)]
Merge from Jean-Charles
Brian Aker [Mon, 12 Oct 2009 15:30:16 +0000 (08:30 -0700)]
Merge Jean-Charles
Trond Norbye [Mon, 12 Oct 2009 13:53:19 +0000 (15:53 +0200)]
Reduce the number of items in the mget for regression_bug_434843 to 1024
A higher number caused deadlock on MacOSX and Solaris 10. For a higher number
of items you should use the upcomming mget_execute interface.
Trond Norbye [Mon, 12 Oct 2009 10:28:56 +0000 (12:28 +0200)]
Fixed compile failure due to wrong return value from function to detect if a testcase should be skipped or not
Jean-Charles Redoutey [Sat, 10 Oct 2009 20:25:40 +0000 (22:25 +0200)]
Also keep track of last disconnected server at blacklisting time
Jean-Charles Redoutey [Sat, 10 Oct 2009 13:12:01 +0000 (15:12 +0200)]
Fixed code to blacklist server as from very first failure, if specified so
Jean-Charles Redoutey [Sat, 10 Oct 2009 11:57:03 +0000 (13:57 +0200)]
Added reviewed version of memcached_server_get_last_disconnect
Jean-Charles Redoutey [Sat, 10 Oct 2009 10:17:04 +0000 (12:17 +0200)]
Fixed retry counter wrongly incremented in case of certain behavior change
Brian Aker [Fri, 9 Oct 2009 17:41:13 +0000 (10:41 -0700)]
Updated test harness, merged Trond's fix for OSX hang.
Trond Norbye [Fri, 9 Oct 2009 06:52:56 +0000 (08:52 +0200)]
Bug #446766: OSX hangs on user_supplied_bug21
Brian Aker [Thu, 8 Oct 2009 22:30:34 +0000 (15:30 -0700)]
Merge bug fix
Trond Norbye [Thu, 8 Oct 2009 21:09:00 +0000 (23:09 +0200)]
Bug #446607: Syscall param write(buf) points to uninitialised byte(s)
Brian Aker [Thu, 8 Oct 2009 20:25:24 +0000 (13:25 -0700)]
Fix return type.
Brian Aker [Thu, 8 Oct 2009 19:06:49 +0000 (12:06 -0700)]
Merge in Adam's bug case.
Brian Aker [Thu, 8 Oct 2009 17:30:07 +0000 (10:30 -0700)]
Merge of Trond's work.
Brian Aker [Thu, 8 Oct 2009 17:17:46 +0000 (10:17 -0700)]
Eric's fix for UDP delete
Trond Norbye [Thu, 8 Oct 2009 14:09:49 +0000 (16:09 +0200)]
Bug #442914: 'delete noreply' may hang the client
Trond Norbye [Thu, 8 Oct 2009 06:40:18 +0000 (08:40 +0200)]
Merge Eric
Eric Lambert [Wed, 7 Oct 2009 23:41:10 +0000 (16:41 -0700)]
fixed casting issue that was causing udp buffered delete tests to fail
Trond Norbye [Wed, 7 Oct 2009 18:31:52 +0000 (20:31 +0200)]
Flush does not reset the bytes stat, so we have no idea of the value
Brian Aker [Wed, 7 Oct 2009 17:42:25 +0000 (10:42 -0700)]
Merge of additional C++ pieces from Padraig
Trond Norbye [Wed, 7 Oct 2009 13:23:38 +0000 (15:23 +0200)]
Initial support for the ASCII protocol in memcapable
Padraig O'Sullivan [Wed, 7 Oct 2009 01:18:36 +0000 (21:18 -0400)]
Merge from trunk.
Padraig O'Sullivan [Wed, 7 Oct 2009 01:18:17 +0000 (21:18 -0400)]
Added a method for removing servers and updated the add server method.
Trond Norbye [Tue, 6 Oct 2009 21:58:31 +0000 (23:58 +0200)]
Fix compilation warnings reported by gcc
Brian Aker [Tue, 6 Oct 2009 15:48:53 +0000 (08:48 -0700)]
Merge in bug fix for for MTaylor
Brian Aker [Tue, 6 Oct 2009 15:26:28 +0000 (08:26 -0700)]
Merge Trond.
Trond Norbye [Tue, 6 Oct 2009 13:59:34 +0000 (15:59 +0200)]
Bug 421108: memstat reports same value for bytes, bytes_read and bytes_written
Trond Norbye [Tue, 6 Oct 2009 10:48:57 +0000 (12:48 +0200)]
Bug #434843: Large multigets with binary protocol may hang client
Trond Norbye [Mon, 5 Oct 2009 22:32:26 +0000 (00:32 +0200)]
Create workaround for warnings generated by a broken C99 compiler
Some of the flags to turn on extra analysis and warnings in gcc contains
various bugs related to struct initializations (see section 6.7.8 in C99)
causing bogus warnings to be generated. Due to the fact that we compile
with warning == error, this is a showstopper for us. We cannot expect all
users to be running the latest compilers, so we have to create the workaround
in our code.
Trond Norbye [Mon, 5 Oct 2009 21:04:26 +0000 (23:04 +0200)]
Fix return type from test functions (should be TEST_SUCCESS and not 0)
Trond Norbye [Mon, 5 Oct 2009 21:03:23 +0000 (23:03 +0200)]
Strip trailing whitespaces
Trond Norbye [Mon, 5 Oct 2009 21:00:48 +0000 (23:00 +0200)]
Update protocol due to review comments:
* Typedef the structs in the public interface
* Removed the EVENT enum, and replaced it with a bitmask of it's own type
* Added support for PAUSE events in the _binary_ protocol. ASCII is on the
todo list :-)
Trond Norbye [Mon, 5 Oct 2009 18:37:05 +0000 (20:37 +0200)]
Move libmemcachedutil to libmemcached/util where it belongs
Trond Norbye [Mon, 5 Oct 2009 17:53:47 +0000 (19:53 +0200)]
Fix compilation failure on 32 bit systems caused by macro redefinition
Monty Taylor [Sun, 4 Oct 2009 18:22:43 +0000 (11:22 -0700)]
We missed the symbol versioning file. Oops.
Padraig O'Sullivan [Fri, 2 Oct 2009 23:08:54 +0000 (19:08 -0400)]
Merge from trunk.
Brian Aker [Fri, 2 Oct 2009 00:11:12 +0000 (17:11 -0700)]
Merge Monty.
Brian Aker [Fri, 2 Oct 2009 00:01:34 +0000 (17:01 -0700)]
Merge Trond's protocol work.
Monty Taylor [Thu, 1 Oct 2009 23:48:09 +0000 (16:48 -0700)]
pandora-build v0.62
Trond Norbye [Thu, 1 Oct 2009 13:45:12 +0000 (15:45 +0200)]
Refactor and add support for the ASCII protocol by wrapping the binary protocol
Brian Aker [Wed, 30 Sep 2009 16:02:21 +0000 (09:02 -0700)]
Pulled fix from Trond
Brian Aker [Wed, 30 Sep 2009 03:51:54 +0000 (20:51 -0700)]
Fix length mismatch
Brian Aker [Tue, 29 Sep 2009 16:37:03 +0000 (09:37 -0700)]
Bug fix for Toru's bug.
Trond Norbye [Mon, 28 Sep 2009 22:25:10 +0000 (00:25 +0200)]
Bug 438157: memcapable failure on OS X
Padraig O'Sullivan [Sun, 27 Sep 2009 17:21:58 +0000 (13:21 -0400)]
Merge from trunk.
Brian Aker [Sat, 26 Sep 2009 08:02:13 +0000 (01:02 -0700)]
Merge Trond
Trond Norbye [Sat, 26 Sep 2009 07:47:01 +0000 (09:47 +0200)]
RFE: It should be possible to set behavior flags on a pool
Trond Norbye [Fri, 25 Sep 2009 10:41:02 +0000 (12:41 +0200)]
Removed memory leak by releasing the items when I'm done using them
Trond Norbye [Fri, 25 Sep 2009 09:38:30 +0000 (11:38 +0200)]
Fix compile errors with gcc
Trond Norbye [Fri, 25 Sep 2009 09:22:45 +0000 (11:22 +0200)]
Add an example using innodb as a storage (NOTE: this version currently leaks memorybzr statusbzr status)
Brian Aker [Wed, 23 Sep 2009 20:41:27 +0000 (13:41 -0700)]
Updating for version .33
Adam Thomason [Tue, 22 Sep 2009 19:31:33 +0000 (12:31 -0700)]
Factor out fetch-all-requests code marked "Turn this into a help function" into fetch_all_results help function
Adam Thomason [Tue, 22 Sep 2009 19:20:27 +0000 (12:20 -0700)]
Fix return codes
Adam Thomason [Tue, 22 Sep 2009 19:19:05 +0000 (12:19 -0700)]
Address trond's comments
Brian Aker [Tue, 22 Sep 2009 17:12:31 +0000 (10:12 -0700)]
Merge Trond
Brian Aker [Tue, 22 Sep 2009 08:36:13 +0000 (01:36 -0700)]
Merge fix for binary mget
Trond Norbye [Tue, 22 Sep 2009 08:26:38 +0000 (10:26 +0200)]
Bug #434484: Binary protocol maps NOT_STORED to wrong error code
Brian Aker [Tue, 22 Sep 2009 08:09:29 +0000 (01:09 -0700)]
Merge Patrick
Trond Norbye [Tue, 22 Sep 2009 07:58:59 +0000 (09:58 +0200)]
Bug: #434495: Ignore SERVER/CLIENT_ERROR from stats cachedump
Adam Thomason [Mon, 21 Sep 2009 20:29:20 +0000 (13:29 -0700)]
Add a test for large multiget hang
Trond Norbye [Mon, 21 Sep 2009 07:42:50 +0000 (09:42 +0200)]
Merge trunk
Brian Aker [Mon, 21 Sep 2009 01:37:08 +0000 (18:37 -0700)]
Merge Trond
Trond Norbye [Sun, 20 Sep 2009 19:34:27 +0000 (21:34 +0200)]
Include config.h before any system header to avoid problems with FILE_OFFSET_BITS macro being redefined
Brian Aker [Sun, 20 Sep 2009 00:32:43 +0000 (17:32 -0700)]
Updates on C++ interface