2003/02/01

Work on Saturday?!

Yep, here I am. What a bummer. But I think we've fixed the problem. Sort of. The fix is "if there's a problem, try again a couple times". But it seems to be working. I'm going to have to come back tomorrow to get stuff cleaned up and ready to go, but it's much better to do that than to bang out heads against the walls like we've been doing.

The problem is called a deadlock. Two or more processes are doing stuff. Process A has a lock on Resource AA. Process B has a lock on Resource BB. Process A wants Resouce BB, so it waits for BB to unlock. Process B wants Resource AA, so it waits for AA to unlock. Circular waiting, aka deadlock, aka clusterfuck. What the database does in this case is realize this is happening, and just kills one of the processes, releasing it's lock and allowing the other process to continue. So we detect when something has been killed, and try it again. Not very elegant, but not really a kludge either.

This morning Dad came over just before I got called back to work, which was too bad. But he helped out with some house stuff, and further verified my plumbing masterpiece. Diana worked all morning pulling weeds and doing yardwork, which was adorable.

Ok. Off to home.



No comments: