New releases: server, Perl, PHP
Tue, 29 Jul 2003 15:00:06 -0700 (PDT)
The server and client APIs are now packaged separately:
Server is now 1.1.7. Not much is different.... look at the ChangeLog.
The protocol docs are included in the distribution. The APIs and website
The Perl client does incr/decr now, but that's about it. I also did all
the MakeFile.PL stuff to make it be CPAN-friendly. Just need to get it in
The PHP client update is probably the most notable... lot of little bugs
fixed, it looks/sounds like. Ryan also added incr/decr, too.
Props to Lisa to nudging me to package them separately. This actually
makes things a lot easier.
Anybody know how to make PHP module releases easy? With the Perl stuff, I
just do "perl Makefile.PL && make dist". I guess I'll just write a little
Perl script to parse out the PHP module's version number and tar stuff up.
Not a big deal, but I'm sure there's a more ideal PHP-ish way.
Notice if you're using a Linux with the epoll kernel patch:
The notable change to the server is we now report CPU consumption in
stats. This is useful for us at LiveJournal because we're hunting a bug
either in libevent or Linux epoll code which keeps reporting events over
and over. We're digging over strace output, and memcache, libevent, and
Linux source. The server keeps running, processing requests fine, but
starts eating CPU, processing bogus events non-stop. If you notice this,
just restart the memcached process, and be aware we're working on it. We
have a ton of memcached processes running, and we're seeing it incredibly
rarely, so it may take a while to track down. We'll be adding more
debugging stats, most likely. We're pretty sure the bug isn't in our
code, since the strace shows a loop of (two gettimeofdays + epoll_wait)
over and over, and that path doesn't occur in our code, so we think it's
I'll be announcing server and client releases separately from now on.
BTW, what is everybody using memcache for? I'd like to make a "users"
page on the site. The only two big ones I know about are LiveJournal and