Yo, http://consoleninja.net/gitweb/gitweb.cgi?p=memcached.git;a=shortlog;h=1.2.7-rc
In addition to the changes dustin posted, I'm proposing the following changes. Most of my own changes/can/should/will be pulled into the dev branch too. The changes in here are merges from dev that I believe are minor enough and useful enough to go into the stable tree, fixes, and some minor new features from myself. Other changes, while temping, will instead to serve as motivation to get all ya'll lazy asses onto the development series. The change I want the most scruitiny on is 7208606e817dc401bcd3fde17038a3dfad604cab ... which adds a really goofy hack to mitigate refcount leaks in the system. I've not been able to nail down the last pesky bug or two which causes those to happen, and this should prevent severe issues going forward, and should stick around even if we find/fix all bugs. I'll let this simmer through tomorrow, maybe monday, then if there're no major complaints it'll become 1.2.7-rc. We'll try to keep the 1.2.7-rc process short since the tree's been settled for so long. Fanks, -Dormando commit c607401efd030d019a47bb100fc4d397801143ce Author: dormando <dorma...@rydia.net> Date: Fri Mar 27 16:12:46 2009 -0700 two new troubleshooting stats accepting_conns for completeness, and listen_disabled_num to see how many times you've hit maxconns and disabled incoming connections. probably a good stat to monitor and flip out on. commit 8620ef062f0cdacffcdcd6d40c70fcdc9cdb9c02 Author: dormando <dorma...@rydia.net> Date: Wed Mar 25 00:55:19 2009 -0700 add a cmd_flush stat shouldn't add much lock contention for just this. I want to add this one stat (mayb a few more?) since it's happened more than once that folks think memcached is broken when a cron or something is calling 'flush_all' once a minute. commit 758f6548acb88d9f446e7369a7564d5382d1e2d2 Author: dormando <dorma...@rydia.net> Date: Tue Mar 24 23:55:09 2009 -0700 print why a key was not found when extra verbose simple logs for simple people. Patch inspired by a bug hunting session with evan weaver. It's been useful a few times since. commit 7208606e817dc401bcd3fde17038a3dfad604cab Author: dormando <dorma...@rydia.net> Date: Sat Mar 28 00:16:38 2009 -0700 dumb hack to self-repair stuck slabs since 1.2.6, most of the refcount leaks have been quashed. I still get them in production, extremely rarely. It's possibly we'll have refcount leaks on and off even in the future. This hack acknowledges this and exists since we want to guarantee, as much as possible, that memcached is a stable service. Having to monitor for and restart the service on account of "rare bugs" isn't acceptable. commit bc3b2e295ef770b682e90a12e2b5e9acfdf85971 Author: dormando <dorma...@rydia.net> Date: Thu Mar 26 00:19:00 2009 -0700 fix a handful of socket listen bugs. AF_UNSPEC is still necessary for UDP sometimes. We guarantee that at least one address returned from getaddrinfo binds successfully, and in cases of lacking network or ipv6 addresses some of those socket() calls might fail. That's normal. We were bailing on them. This change also removes the need to pass AI_ADDRCONFIG on machines with ipv6 stacks disabled. commit cd9f5e17a5db997af16a8fccb7a59efb0c8e52c0 Author: Dustin Sallings <dus...@spy.net> Date: Tue Mar 17 15:02:07 2009 -0700 stats slab's used_chunks should show chunks put to use It was a bit unclear what it was doing before, but it started out with a value equal to total_chunks, which was surely wrong. This change and its accompanying test ensure the value makes a bit more sense. commit bf832f3ae339ce8dbcd72dc4d38eb2985a122a32 Author: Dustin Sallings <dus...@spy.net> Date: Fri Mar 13 20:24:14 2009 -0700 A bit more space for server_stats, and an assertion (bug 27). I couldn't figure out how to get the stats output big enough to exceed 1024, but I accept it might. I've given it a bit more space here and added an assertion to detect when we fail in case we can figure out how to actually have this occur. Maxing out pretty much everything got me up to 828 bytes: STAT pid 35893 STAT uptime 152 STAT time 1237000260 STAT version 1.3.2 STAT pointer_size 32 STAT rusage_user 0.002487 STAT rusage_system 0.005412 STAT curr_connections 4 STAT total_connections 5 STAT connection_structures 5 STAT cmd_get 18446744073709551610 STAT cmd_set 18446744073709551610 STAT get_hits 18446744073709551610 STAT get_misses 18446744073709551610 STAT delete_misses 18446744073709551610 STAT delete_hits 18446744073709551610 STAT incr_misses 18446744073709551610 STAT incr_hits 18446744073709551610 STAT decr_misses 18446744073709551610 STAT decr_hits 18446744073709551610 STAT cas_misses 18446744073709551610 STAT cas_hits 18446744073709551610 STAT cas_badval 18446744073709551610 STAT bytes_read 1 STAT bytes_written 18446744073709551610 STAT limit_maxbytes 67108864 STAT threads 5 STAT bytes 18446744073709551610 STAT curr_items 4294967290 STAT total_items 4294967290 STAT evictions 18446744073709551610 ... assertion removed for the 1.2 tree. commit 34a40c7d928df845c89fd6d05fd6f61bfac3cffa Author: Chris Goffinet <c...@chrisgoffinet.com> Date: Sun Mar 15 23:08:46 2009 -0700 Added support for setting backlog queue on command line