March 4th, 2001

misc updates

* wrote a tool to automate moving tables between disks. bunch of steps involved which are scary to do by hand.... lock table, flush it, copy it over, rename originals, setup symlinks, flush, unlock.... takes quite a bit of time and sweat to do by hand, so now i can easily move tables between disks and not worry about fucking up or losing tons of people's data. so, i moved a bunch of tables between drives.

* noticed that helped, but we were still locking a bunch because of frequent writes to the log table (the busiest one) whenever somebody commented (keeping 'replycount' on the table is quicker than querying it all the time). so i made the querybuffer table and a function to add to it, and a daemon to flush it every 15 seconds..... so now all the writes for each table are done under their own lock (very fast). this has already made a noticeable effect, and things aren't even busy.

* lj-stan is still totally dead.... always fails in the "copying pages" test (test #5) of SGI's memtest86 program. corvar sent me a diagnostic program to see specifically what in the hardware was messed, but that program just hangs at startup. for reference, the test that stan fails is:
Test 5 [Block move, 64 moves, cached]

This test stresses memory by using block move (movsl) instructions and is based on Robert Redelmeier's burnBX test. Memory is initialized with shifting patterns that are inverted every 8 bytes. Then 4mb blocks of memory are moved around using the movsl instruction. After the moves are completed the data patterns are checked. Because the data is checked only after the memory moves are completed it is not possible to know where the error occurred. The addresses reported are only for where the bad pattern was found. Since the moves are constrained to a 8mb segment of memory the failing address will always be less than 8mb away from the reported address. Errors from this test are not used to calculate BadRAM patterns.

* I took an hour off and did non-LJ work... gnomie! Kinda fun. (yes, this is offtopic.... sue me. :P)