Brian Aker [Fri, 27 Nov 2009 22:05:12 +0000 (14:05 -0800)]
Merge from Mikki
Mikko Koppanen [Fri, 27 Nov 2009 19:46:16 +0000 (19:46 +0000)]
Coding style changes. Moved the srandom to memcached_behavior_set instead of doing it on every call. Added documentation
Mikko Koppanen [Fri, 27 Nov 2009 17:05:51 +0000 (17:05 +0000)]
Added test for randomized reads
Mikko Koppanen [Fri, 27 Nov 2009 10:40:32 +0000 (10:40 +0000)]
Added randomized read behavior
Brian Aker [Fri, 27 Nov 2009 02:03:55 +0000 (18:03 -0800)]
Adding behaviors interface to C++ interface
Brian Aker [Wed, 25 Nov 2009 08:21:57 +0000 (00:21 -0800)]
Updated tests to use new macro (less assert()).
mike tsai [Thu, 19 Nov 2009 22:46:49 +0000 (14:46 -0800)]
Added get/set behavior functions to the C++ interface. Added a test to exercise the new change
Brian Aker [Tue, 17 Nov 2009 20:16:49 +0000 (12:16 -0800)]
Remove historical bootstrap script
Trond Norbye [Mon, 16 Nov 2009 20:17:41 +0000 (21:17 +0100)]
Remove symbolic link (caused bzr branch to fail on Windows)
Brian Aker [Tue, 10 Nov 2009 03:57:08 +0000 (19:57 -0800)]
Fix make dist issue
Brian Aker [Mon, 9 Nov 2009 19:19:38 +0000 (11:19 -0800)]
Updating for 0.35 release.
Brian Aker [Sat, 7 Nov 2009 02:36:32 +0000 (18:36 -0800)]
Merging support for by_key operations.
Adam Thomason [Sat, 7 Nov 2009 01:50:53 +0000 (17:50 -0800)]
* Rename: s/by_key_with_initial/with_initial_by_key
* Include separate test for each function
* Change type of offset to uint64_t for increment_by_key and decrement_by_key
* Change type of offset to uint64_t for memcached_auto; also use PRIu64 format in it for sprintf
Adam Thomason [Sat, 7 Nov 2009 01:07:34 +0000 (17:07 -0800)]
Add master-key versions of incr and decr commands
Brian Aker [Fri, 6 Nov 2009 11:26:01 +0000 (03:26 -0800)]
Update for support of mget in memslap.
Trond Norbye [Fri, 6 Nov 2009 10:04:53 +0000 (11:04 +0100)]
Add mget as a test to memslap
Trond Norbye [Fri, 6 Nov 2009 08:38:54 +0000 (09:38 +0100)]
Protocol interface should be an enum and not a uint64_t for type safety
Brian Aker [Thu, 5 Nov 2009 17:09:15 +0000 (09:09 -0800)]
Merge bug fix by Trond.
Brian Aker [Tue, 3 Nov 2009 20:18:09 +0000 (12:18 -0800)]
Compatible Spymemcached support in ketama
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
Trond Norbye [Thu, 29 Oct 2009 15:36:27 +0000 (16:36 +0100)]
Bug 463297: Deferred deletes doesn't work on a 1.4.x server
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