January 7th, 2003

A New problem

Ok for some reason on a lot of the journals i'm getting

HTTP/1.1 200 OK Date: Wed, 08 Jan 2003 22:36:13 GMT Server: Apache-AdvancedExtranetServer/1.3.26 (Mandrake Linux/6.1mdk) mod_perl/1.27 mod_gzip/1.3.19.1a mod_ssl/2.8.10 OpenSSL/0.9.6g sxnet/1.2.4 PHP/4.2.3 Cache-Control: private, proxy-revalidate Content-length: 5370 Keep-Alive: timeout=15, max=84 Connection: Keep-Alive, Keep-Alive Content-Type: text/html; charset=utf-8

When you view the journal, it doubles the entry if it only has one, and then prints that between it... this is on my own server and this just started... i'm not sure why it is printing the headers

(no subject)

Hey could somebody tell me where to get perl modules Jcode, Mail::Address and Mail::Words? The installation program lists Mail::Words as a missing module. But the documentation makes no mention of this module. It does list Mail::Base64 as a required module. In any case, I didn't find any exact matches for the three modules at perl.org. Thanks!

Friends view optimization

I just committed a new optimization for the generation of the friends view, where the results from a previous friends page construction can aid a subsequent one, by caching the results from time to time.

Yes, we've done this in the past, but the implementation was always wrong. Changes to the approach this time around:

1) it's not required. if it won't work, it falls back quickly to old algorithm.

2) it doesn't tax the database. very simple schema, and all the real bookkeeping is done in perl (on the cheap webservers), not in the database. there's even a parameter to adjust how often cache updates happen

3) an out-of-date cache (if aforementioned parameter is set to non-zero) still helps the old algorithm. so any cache is good.

The patch is here, for those curious:

http://www.danga.com/temp/friends_view_caching.txt

I've been testing this for a number of hours this evening, and I'm relatively convinced it works, but the friends view code is some of the trickiest/ugliest in the codebase, so I made it an option for now. If you want to enable it, visit:

http://www.livejournal.com/betatest.bml

Note: the optimization only affects when you're logged in and looking at your own friends view without any filters.

Happy browsing/testing!

Update: newest code live, 3 bugs squished. if your cache is corrupt/old, turn beta testing on again to clear it.... then test out for a few hours before reporting any bugs.