awesomized/libmemcached
15 years agoMerging changes from trunk
mike tsai [Thu, 22 Oct 2009 23:05:00 +0000 (16:05 -0700)] 
Merging changes from trunk

15 years agoAdded a new test called output_ketama_weighted_keys. It prints the hashing result
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

15 years agoUpdate from Padraig, one additional valgrind warning I found cleaned up
Brian Aker [Wed, 21 Oct 2009 00:01:00 +0000 (17:01 -0700)] 
Update from Padraig, one additional valgrind warning I found cleaned up

15 years agoUpdated the C++ interface example to print out statistics that are retrieved
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.

15 years agoAdded some doxygen comments for 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.

15 years agoAdded an initial version of getStats() to the C++ interface.
Padraig O'Sullivan [Tue, 20 Oct 2009 18:07:07 +0000 (14:07 -0400)] 
Added an initial version of getStats() to the C++ interface.

15 years agoFreed memory after a call to memcached_fetch
Padraig O'Sullivan [Tue, 20 Oct 2009 17:41:00 +0000 (13:41 -0400)] 
Freed memory after a call to memcached_fetch

15 years agoMade sure memory was freed after call to memcached_get_by_key.
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.

15 years agoMade sure memory was freed after calling memcached_get.
Padraig O'Sullivan [Tue, 20 Oct 2009 17:38:53 +0000 (13:38 -0400)] 
Made sure memory was freed after calling memcached_get.

15 years agoMerge from trunk.
Padraig O'Sullivan [Tue, 20 Oct 2009 17:23:50 +0000 (13:23 -0400)] 
Merge from trunk.

15 years agoKetama hashing is now compatable with spymemcached. The server key was not in the...
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.

15 years agoFix typo
Brian Aker [Fri, 16 Oct 2009 15:01:26 +0000 (08:01 -0700)] 
Fix typo

15 years agoMerging Trond
Brian Aker [Wed, 14 Oct 2009 23:47:10 +0000 (16:47 -0700)] 
Merging Trond

15 years agoRefactor: memcached_mget_execute -> memcached_mget_execute_by_key
Trond Norbye [Wed, 14 Oct 2009 18:50:03 +0000 (20:50 +0200)] 
Refactor: memcached_mget_execute -> memcached_mget_execute_by_key

15 years agomget with replication didn't work if you had a cache miss
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

15 years agoFix problems with multigets and replication
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.

15 years agoFix compile warnings generated by gcc 4.4.1
Trond Norbye [Wed, 14 Oct 2009 11:40:42 +0000 (13:40 +0200)] 
Fix compile warnings generated by gcc 4.4.1

15 years agoBug #447237: const-correctness in interface
Trond Norbye [Wed, 14 Oct 2009 10:31:33 +0000 (12:31 +0200)] 
Bug #447237: const-correctness in interface

15 years agoUpdating for date. 0.34
Brian Aker [Tue, 13 Oct 2009 15:40:04 +0000 (08:40 -0700)] 
Updating for date.

15 years agoUpdated spec file.
Brian Aker [Tue, 13 Oct 2009 15:39:24 +0000 (08:39 -0700)] 
Updated spec file.

15 years agoAdded documentation for memcached_mget_execute
Trond Norbye [Tue, 13 Oct 2009 15:31:38 +0000 (17:31 +0200)] 
Added documentation for memcached_mget_execute

15 years agoUpdated for release
Brian Aker [Tue, 13 Oct 2009 15:24:14 +0000 (08:24 -0700)] 
Updated for release

15 years agoInitial implementation of memcached_mget_execute
Trond Norbye [Tue, 13 Oct 2009 10:05:51 +0000 (12:05 +0200)] 
Initial implementation of memcached_mget_execute

15 years agoMerging bug fix for wrong retry counter.
Brian Aker [Mon, 12 Oct 2009 22:22:40 +0000 (15:22 -0700)] 
Merging bug fix for wrong retry counter.

15 years agoSimplify wrong_failure_counter_test to only test the changed code
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.

15 years agoFix compile warning from gcc (assert may not terminate the program if NDEBUG is set)
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)

15 years agoMerged Jean-Charles Redoutey
Trond Norbye [Mon, 12 Oct 2009 20:01:44 +0000 (22:01 +0200)] 
Merged Jean-Charles Redoutey

15 years agoUpdating AUTHORS file.
Brian Aker [Mon, 12 Oct 2009 16:51:55 +0000 (09:51 -0700)] 
Updating AUTHORS file.

15 years agoMerge from Trond
Brian Aker [Mon, 12 Oct 2009 16:10:17 +0000 (09:10 -0700)] 
Merge from Trond

15 years agoMerge from Jean-Charles
Brian Aker [Mon, 12 Oct 2009 15:54:00 +0000 (08:54 -0700)] 
Merge from Jean-Charles

15 years agoMerge Jean-Charles
Brian Aker [Mon, 12 Oct 2009 15:30:16 +0000 (08:30 -0700)] 
Merge Jean-Charles

15 years agoReduce the number of items in the mget for regression_bug_434843 to 1024
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.

15 years agoFixed compile failure due to wrong return value from function to detect if a testcase...
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

15 years agoAlso keep track of last disconnected server at blacklisting time
Jean-Charles Redoutey [Sat, 10 Oct 2009 20:25:40 +0000 (22:25 +0200)] 
Also keep track of last disconnected server at blacklisting time

15 years agoFixed code to blacklist server as from very first failure, if specified so
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

15 years agoAdded reviewed version of memcached_server_get_last_disconnect
Jean-Charles Redoutey [Sat, 10 Oct 2009 11:57:03 +0000 (13:57 +0200)] 
Added reviewed version of memcached_server_get_last_disconnect

15 years agoFixed retry counter wrongly incremented in case of certain behavior change
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

15 years agoUpdated test harness, merged Trond's fix for OSX hang.
Brian Aker [Fri, 9 Oct 2009 17:41:13 +0000 (10:41 -0700)] 
Updated test harness, merged Trond's fix for OSX hang.

15 years agoBug #446766: OSX hangs on user_supplied_bug21
Trond Norbye [Fri, 9 Oct 2009 06:52:56 +0000 (08:52 +0200)] 
Bug #446766: OSX hangs on user_supplied_bug21

15 years agoMerge bug fix
Brian Aker [Thu, 8 Oct 2009 22:30:34 +0000 (15:30 -0700)] 
Merge bug fix

15 years agoBug #446607: Syscall param write(buf) points to uninitialised byte(s)
Trond Norbye [Thu, 8 Oct 2009 21:09:00 +0000 (23:09 +0200)] 
Bug #446607: Syscall param write(buf) points to uninitialised byte(s)

15 years agoFix return type.
Brian Aker [Thu, 8 Oct 2009 20:25:24 +0000 (13:25 -0700)] 
Fix return type.

15 years agoMerge in Adam's bug case.
Brian Aker [Thu, 8 Oct 2009 19:06:49 +0000 (12:06 -0700)] 
Merge in Adam's bug case.

15 years agoMerge of Trond's work.
Brian Aker [Thu, 8 Oct 2009 17:30:07 +0000 (10:30 -0700)] 
Merge of Trond's work.

15 years agoEric's fix for UDP delete
Brian Aker [Thu, 8 Oct 2009 17:17:46 +0000 (10:17 -0700)] 
Eric's fix for UDP delete

15 years agoBug #442914: 'delete noreply' may hang the client
Trond Norbye [Thu, 8 Oct 2009 14:09:49 +0000 (16:09 +0200)] 
Bug #442914: 'delete noreply' may hang the client

15 years agoMerge Eric
Trond Norbye [Thu, 8 Oct 2009 06:40:18 +0000 (08:40 +0200)] 
Merge Eric

15 years agofixed casting issue that was causing udp buffered delete tests to fail
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

15 years agoFlush does not reset the bytes stat, so we have no idea of the value
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

15 years agoMerge of additional C++ pieces from Padraig
Brian Aker [Wed, 7 Oct 2009 17:42:25 +0000 (10:42 -0700)] 
Merge of additional C++ pieces from Padraig

15 years agoInitial support for the ASCII protocol in memcapable
Trond Norbye [Wed, 7 Oct 2009 13:23:38 +0000 (15:23 +0200)] 
Initial support for the ASCII protocol in memcapable

15 years agoMerge from trunk.
Padraig O'Sullivan [Wed, 7 Oct 2009 01:18:36 +0000 (21:18 -0400)] 
Merge from trunk.

15 years agoAdded a method for removing servers and updated the add server method.
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.

15 years agoFix compilation warnings reported by gcc
Trond Norbye [Tue, 6 Oct 2009 21:58:31 +0000 (23:58 +0200)] 
Fix compilation warnings reported by gcc

15 years agoMerge in bug fix for for MTaylor
Brian Aker [Tue, 6 Oct 2009 15:48:53 +0000 (08:48 -0700)] 
Merge in bug fix for for MTaylor

15 years agoMerge Trond.
Brian Aker [Tue, 6 Oct 2009 15:26:28 +0000 (08:26 -0700)] 
Merge Trond.

15 years agoBug 421108: memstat reports same value for bytes, bytes_read and bytes_written
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

15 years agoBug #434843: Large multigets with binary protocol may hang client
Trond Norbye [Tue, 6 Oct 2009 10:48:57 +0000 (12:48 +0200)] 
Bug #434843: Large multigets with binary protocol may hang client

15 years agoCreate workaround for warnings generated by a broken C99 compiler
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.

15 years agoFix return type from test functions (should be TEST_SUCCESS and not 0)
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)

15 years agoStrip trailing whitespaces
Trond Norbye [Mon, 5 Oct 2009 21:03:23 +0000 (23:03 +0200)] 
Strip trailing whitespaces

15 years agoUpdate protocol due to review comments:
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 :-)

15 years agoMove libmemcachedutil to libmemcached/util where it belongs
Trond Norbye [Mon, 5 Oct 2009 18:37:05 +0000 (20:37 +0200)] 
Move libmemcachedutil to libmemcached/util where it belongs

15 years agoFix compilation failure on 32 bit systems caused by macro redefinition
Trond Norbye [Mon, 5 Oct 2009 17:53:47 +0000 (19:53 +0200)] 
Fix compilation failure on 32 bit systems caused by macro redefinition

15 years agoWe missed the symbol versioning file. Oops.
Monty Taylor [Sun, 4 Oct 2009 18:22:43 +0000 (11:22 -0700)] 
We missed the symbol versioning file. Oops.

15 years agoMerge from trunk.
Padraig O'Sullivan [Fri, 2 Oct 2009 23:08:54 +0000 (19:08 -0400)] 
Merge from trunk.

15 years agoMerge Monty.
Brian Aker [Fri, 2 Oct 2009 00:11:12 +0000 (17:11 -0700)] 
Merge Monty.

15 years agoMerge Trond's protocol work.
Brian Aker [Fri, 2 Oct 2009 00:01:34 +0000 (17:01 -0700)] 
Merge Trond's protocol work.

15 years agopandora-build v0.62
Monty Taylor [Thu, 1 Oct 2009 23:48:09 +0000 (16:48 -0700)] 
pandora-build v0.62

15 years agoRefactor and add support for the ASCII protocol by wrapping the binary protocol
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

15 years agoPulled fix from Trond
Brian Aker [Wed, 30 Sep 2009 16:02:21 +0000 (09:02 -0700)] 
Pulled fix from Trond

15 years agoFix length mismatch
Brian Aker [Wed, 30 Sep 2009 03:51:54 +0000 (20:51 -0700)] 
Fix length mismatch

15 years agoBug fix for Toru's bug.
Brian Aker [Tue, 29 Sep 2009 16:37:03 +0000 (09:37 -0700)] 
Bug fix for Toru's bug.

15 years agoBug 438157: memcapable failure on OS X
Trond Norbye [Mon, 28 Sep 2009 22:25:10 +0000 (00:25 +0200)] 
Bug 438157: memcapable failure on OS X

15 years agoMerge from trunk.
Padraig O'Sullivan [Sun, 27 Sep 2009 17:21:58 +0000 (13:21 -0400)] 
Merge from trunk.

15 years agoMerge Trond
Brian Aker [Sat, 26 Sep 2009 08:02:13 +0000 (01:02 -0700)] 
Merge Trond

15 years agoRFE: It should be possible to set behavior flags on a pool
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

15 years agoRemoved memory leak by releasing the items when I'm done using them
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

15 years agoFix compile errors with gcc
Trond Norbye [Fri, 25 Sep 2009 09:38:30 +0000 (11:38 +0200)] 
Fix compile errors with gcc

15 years agoAdd an example using innodb as a storage (NOTE: this version currently leaks memorybz...
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)

15 years agoUpdating for version .33
Brian Aker [Wed, 23 Sep 2009 20:41:27 +0000 (13:41 -0700)] 
Updating for version .33

15 years agoFactor out fetch-all-requests code marked "Turn this into a help function" into fetch...
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

15 years agoFix return codes
Adam Thomason [Tue, 22 Sep 2009 19:20:27 +0000 (12:20 -0700)] 
Fix return codes

15 years agoAddress trond's comments
Adam Thomason [Tue, 22 Sep 2009 19:19:05 +0000 (12:19 -0700)] 
Address trond's comments

15 years agoMerge Trond
Brian Aker [Tue, 22 Sep 2009 17:12:31 +0000 (10:12 -0700)] 
Merge Trond

15 years agoMerge fix for binary mget
Brian Aker [Tue, 22 Sep 2009 08:36:13 +0000 (01:36 -0700)] 
Merge fix for binary mget

15 years agoBug #434484: Binary protocol maps NOT_STORED to wrong error code
Trond Norbye [Tue, 22 Sep 2009 08:26:38 +0000 (10:26 +0200)] 
Bug #434484: Binary protocol maps NOT_STORED to wrong error code

15 years agoMerge Patrick
Brian Aker [Tue, 22 Sep 2009 08:09:29 +0000 (01:09 -0700)] 
Merge Patrick

15 years agoBug: #434495: Ignore SERVER/CLIENT_ERROR from stats cachedump
Trond Norbye [Tue, 22 Sep 2009 07:58:59 +0000 (09:58 +0200)] 
Bug: #434495: Ignore SERVER/CLIENT_ERROR from stats cachedump

15 years agoAdd a test for large multiget hang
Adam Thomason [Mon, 21 Sep 2009 20:29:20 +0000 (13:29 -0700)] 
Add a test for large multiget hang

15 years agoMerge trunk
Trond Norbye [Mon, 21 Sep 2009 07:42:50 +0000 (09:42 +0200)] 
Merge trunk

15 years agoMerge Trond
Brian Aker [Mon, 21 Sep 2009 01:37:08 +0000 (18:37 -0700)] 
Merge Trond

15 years agoInclude config.h before any system header to avoid problems with FILE_OFFSET_BITS...
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

15 years agoUpdates on C++ interface
Brian Aker [Sun, 20 Sep 2009 00:32:43 +0000 (17:32 -0700)] 
Updates on C++ interface

15 years agoUpdated changelog with some small comments on C++ interface updates.
Padraig O'Sullivan [Sat, 19 Sep 2009 23:59:36 +0000 (19:59 -0400)] 
Updated changelog with some small comments on C++ interface updates.

15 years agoForgot to include the std:: namespace prefix before string.
Padraig O'Sullivan [Sat, 19 Sep 2009 23:53:48 +0000 (19:53 -0400)] 
Forgot to include the std:: namespace prefix before string.

15 years agoUpdating Patrick's C++ exceptions to build without warnings on solaris.
Padraig O'Sullivan [Sat, 19 Sep 2009 23:52:02 +0000 (19:52 -0400)] 
Updating Patrick's C++ exceptions to build without warnings on solaris.

15 years agoUpdating the C++ exceptions file to build correctly.
Padraig O'Sullivan [Sat, 19 Sep 2009 23:49:22 +0000 (19:49 -0400)] 
Updating the C++ exceptions file to build correctly.

15 years agoUsed std::string instead of char and sprintf for constructing an error
Padraig O'Sullivan [Sat, 19 Sep 2009 23:36:57 +0000 (19:36 -0400)] 
Used std::string instead of char and sprintf for constructing an error
message.

15 years agoUpdated the getCache() method to actually pick a random client from the
Padraig O'Sullivan [Sat, 19 Sep 2009 17:04:38 +0000 (13:04 -0400)] 
Updated the getCache() method to actually pick a random client from the
vector of clients.