Mark's taking a mini-vacation, so I'll post this for him. This includes some things we'll be working on while Brad is on vacation, so it's not exactly a weekly todo:|
* Update the FB to LJ posting interface (david, michael)
* clean up UI/docs for Fotobilder (jesse, whit, mahlon, david)
* memcaching of FB APIs (whitaker=lead, others)
- and make a memcache-keys.txt file
* hashref -> "class"ification of FB (whit, mahlon, michael)
* zilla (david, jesse)
* useridlookup and dropping 'user' index from user table. (whit)
- mimic FB's useridlookup table
- just user.usercs. no user.user column. (like FB, breaks
existing queries intentionally that weren't updated)
* mogilefsd setup docs and mogilefsd website for danga.com (jr, whit)
* danga.com flesh-out (everybody, divide and conquer)
* phoneposts and captchas in mogilefs (junior, mahlon, michael)
* API (over SSL) for other sites to say "domain=foo.com, user=bob,
phonenumber=5035551212, pin=2314". then if foo.com is trusted (some
ljconfig hash including the trusted IP address(es) to get RPCs from)
then we auto-vivify that userid on LJ if so. requires useridlookup
support. (whit, mahlon) - also proper locking
* serving phoneposts (and other files?) for other domains.
- some ljconfig hash maps hostnames (phoneposts.dj.com)
to [ $function, $domainid ] or something.
* iphoto to fotobilder import tool (michael)
- just copy the one from the 'gallery' project
* user backup harness (michael)
- locking so we can run multiple copies all over.
- mogilefsd getting/putting.
- think about how to store several snapshots of their
journal: most recent, week ago, month ago.
* user backup refinements (junior)
- make sure the log2 and talk2 tables are backed up
reliably. log2: make sure you have all the jitemids,
then select all the revtimes from logprop2, and make
sure they match exactly. if different at all, resync
* mogilefsd commands to get stats: (whit, junior)
- replication status (how many items/time(?) behind)
- files in system?
- disk space in system?
- disk space per device?
* mogilefsd commands to query device/host states, and
change device/host states. then command line tool
to do those actions. 'mogadm'. reads trackers from
~/.mogile.conf (whit, junior)
mogadm host bob device 17 dead
mogadm host bob device 17 tempdown
mogadm host bob device 17 up
# but can't transition from dead to up. just tempdown to up.
And the "host bob" is redundant since device 17 knows its
host... it's just a sanity check.
* portable replacement for Linux::AIO using pure perl, fork,
and unix sockets passing fds. (junior, michael)
* X-Perlbal-Verify-Write: 1 (junior)
- new HTTP header to Perlbal during PUT requests that says to:
buffer up to 1MB (default) from client in memory, checksum
it in memory, write it to disk async, then read it back from
disk async, verifying the checksum after reading it.
but to bypass the kernel buffercache, you'll have to open
the file O_DIRECT. you can probably just open it for
both reading and writing and O_DIRECT all at once, and just
reuse the same fd the whole time for both writing and verifying.
* plan for subversion metadata (LJ-specific) on changesets for
tracking dependency info, and "pre-go-live" info, like
what other changesets or actions (update-db, lib-reload, etc)
need to happen (low priority)