Some of you have noticed, and alerted us, of occasional error screens when trying to access the site. I have caught a couple of these in mid-session so to speak and believe it is being caused by a database lock. What appears to be happening is that MySQL is generally pretty clever about how it accesses the database tables, and it doesn’t apply a lock to the tables UNLESS it gets an insert or update command. If it receives an insert or update, it applies a lock to the table and any SUBSEQUENT requests are blocked until the update is complete. What appears to be happening is that an update is placed into the queue, and for some reason sometimes the system is taking a long time to send data to a client, resulting in an update request coming in and locking everything up until the first, and hanging, connection is cleared.
I’ve applied a quick change that may help fix it, but until I can bottom out why some connections are taking a huge time to receive their data, I can’t be too sure its fixed… I’ll keep you posted.