On Mar 5, 2007, at 3:40 PM, Perrin Harkins wrote:

Look for things that use locking.  Anything that updates a file or a
database row.  In particular, look for things that do this and would
happen on every type of request that you've seen hanging so far.

As a note, you could run into blocks/locks/stalls from foreign keys.

I recently had this code in my system

        handle 1-       select * from account where id = 1;
handle 2- update visit set visit_count= visit_count+1 where account_id = 1; # account_id fkeys on account

it took me forever to realize why my system kept locking. the select + transaction on handle 1 was getting an exclusive lock, and the update was queued , trying to do an internal select on the fkey for integrity checks

the moral: db lock problems can happen where you least expect them


// Jonathan Vanasco

| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| SyndiClick.com
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|      FindMeOn.com - The cure for Multiple Web Personality Disorder
|      Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|      RoadSound.com - Tools For Bands, Stuff For Fans
|      Collaborative Online Management And Syndication Tools
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Reply via email to