mysql> SELECT COUNT(*) FROM s_posts WHERE post_legacy=304; ERROR 1194 (HY000): Table 's_posts' is marked as crashed and should be repaired
Apparently, Taiga (the machine on which Shuugo and I are running jails for 4scrape and Konachan and AniSearch etc) was in a rack at OVH which overheated, which caused the APC within the rack to cut power to all 32 servers. It happened around 4AM EST, which means 4scrape was in the middle of a scrape, which means data corruption!!! (but our server bill is going to be a bit cheaper this month because of that shit).
I mean, sure, an InnoDB-backed double-buffered table (or a server running PostGRES) wouldn’t have this problem. Honestly, it wasn’t that hard to fix –
cd /var/db/mysql/media && myisamchk --recover *.MYI
At the same time, 4scrape’s missed like 2 days of scraping again (which means it probably lost a few posts) which is a pain in the ass. I really need to add a couple of things to the cron script so it sends me an email if the scrape ever fails or something, because lawds.10 comments
Wow, I suck. I actually sat down the other day and wrote a test thing that recursively grabs all the dependencies for a given port (by running make recursively, like bsd.port.mk does, except using concurrent threads to process multiple Makefiles at once. The results are somewhat less than I’d hoped for:
hark@kanaria> ghc -O2 -threaded Ports.hs hark@kanaria> time ./a.out (snip) 78.03 real 55.38 user 18.31 sys hark@kanaria> cd /usr/ports/x11/xorg && time make all-depends-list (snip) 15.92 real 13.29 user 2.08 sys
My Haskell script takes five times the amount of time that the vanilla Make scripts do. Arguably, the critical fault is that my script is calling make to generate the dependency list for each port (though that’s what bsd.port.mk does for the all-depends-list target) rather than just parsing the Makefiles itself (which would take a stupid amount of effort to implement reliably, I think).
In any case, shit sucks. Whatever.No comments