Fix problems with multigets and replication
authorTrond Norbye <trond.norbye@sun.com>
Wed, 14 Oct 2009 13:18:07 +0000 (15:18 +0200)
committerTrond Norbye <trond.norbye@sun.com>
Wed, 14 Oct 2009 13:18:07 +0000 (15:18 +0200)
commit109d5bfa8df63c0944417e0f556679b48030c66d
tree09a3ae1c3307853c2d8e1cbca2f173a8c57c1234
parentf563b56dafe5e44f63f4771d923ca1de6e41159b
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.
libmemcached/memcached_get.c
tests/function.c