May 2nd, 2005

potato

livejournal

Module Name: livejournal
Committed By: marksmith
Date: Mon May 2 23:49:59 UTC 2005

Modified Files:
---------------
livejournal/cgi-bin: ljlib.pl

Log Message:
------------
* add whitespace and error checking to LJ::get_groupmask

* rewrite LJ::is_friend in terms of LJ::get_groupmask: this makes it use the
frgmask memcache key we already have, instead of doing a query against a
dbr for every call. (not that it was called all that often anyway)


To generate a diff of this commit:
cvs rdiff -r1.833 -r1.834 livejournal/cgi-bin/ljlib.pl
http://cvs.livejournal.org/browse.cgi/livejournal/cgi-bin/ljlib.pl.diff?r1=1.833&r2=1.834

wcmtools

Module Name: wcmtools
Committed By: bradfitz

Modified Files:
---------------
wcmtools/gearman/server: gearmand

Log Message:
------------
fix a memory leak,

wake up workers immediately if they're going to sleep and work has
come in since they asked for it and found none,

remove some debug prints.


To generate a diff of this commit:
cvs rdiff -r1.5 -r1.6 wcmtools/gearman/server/gearmand
http://cvs.danga.com/browse.cgi/wcmtools/gearman/server/gearmand.diff?r1=1.5&r2=1.6

wcmtools

Module Name: wcmtools
Committed By: bradfitz

Modified Files:
---------------
wcmtools/gearman/lib/Gearman: Util.pm

Log Message:
------------
avoid buffered I/O on read path (since callers could use this with select),

and make send_req do the obvious check for a socket being undefined.


To generate a diff of this commit:
cvs rdiff -r1.5 -r1.6 wcmtools/gearman/lib/Gearman/Util.pm
http://cvs.danga.com/browse.cgi/wcmtools/gearman/lib/Gearman/Util.pm.diff?r1=1.5&r2=1.6

wcmtools

Module Name: wcmtools
Committed By: bradfitz

Modified Files:
---------------
wcmtools/gearman/lib/Gearman: Client.pm Worker.pm

Log Message:
------------
-- TCP_NODELAY on both client and worker. removes the FIXME lines and makes the system
a ton faster.

-- client: caching of job server sockets. tasksets can now loan sockets (and share them
amongst tasks in their taskset) and return them to the taskset's client when done.
this required changing/splitting the _process_packet into _get_packet/_wait_for_packet
and making _wait_for_packet a hairy event loop

Things are currently being tested and moved around as I play failure
testing at different levels.

There are several known bugs, including choppy rates on workers,
client spinning on job server death, etc. These need to be looked at
tomorrow.


To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 wcmtools/gearman/lib/Gearman/Client.pm
http://cvs.danga.com/browse.cgi/wcmtools/gearman/lib/Gearman/Client.pm.diff?r1=1.4&r2=1.5
cvs rdiff -r1.2 -r1.3 wcmtools/gearman/lib/Gearman/Worker.pm
http://cvs.danga.com/browse.cgi/wcmtools/gearman/lib/Gearman/Worker.pm.diff?r1=1.2&r2=1.3

wcmtools

Module Name: wcmtools
Committed By: bradfitz

Modified Files:
---------------
wcmtools/gearman/lib/Gearman: Util.pm Worker.pm
wcmtools/gearman/server: gearmand

Log Message:
------------
new command for worker-clients to send the server a random client id.

server then tracks this client id and has a new mgmt command "workers"
that shows all connected workers, their self-generated client ids, and
their capabilities.

then, monitoring scripts (nagios/etc) can tell that a worker connected
to two differnet job servers are actually the same, since their client
ids are the same.


To generate a diff of this commit:
cvs rdiff -r1.6 -r1.7 wcmtools/gearman/lib/Gearman/Util.pm
http://cvs.danga.com/browse.cgi/wcmtools/gearman/lib/Gearman/Util.pm.diff?r1=1.6&r2=1.7
cvs rdiff -r1.3 -r1.4 wcmtools/gearman/lib/Gearman/Worker.pm
http://cvs.danga.com/browse.cgi/wcmtools/gearman/lib/Gearman/Worker.pm.diff?r1=1.3&r2=1.4
cvs rdiff -r1.6 -r1.7 wcmtools/gearman/server/gearmand
http://cvs.danga.com/browse.cgi/wcmtools/gearman/server/gearmand.diff?r1=1.6&r2=1.7