Aaron Schulz wrote:
I see. OK, so now this is driving me crazy again. What is it about logging that makes it have all these problems, and nothing else? Does anyone have any ideas? Deadlocks were the first think I was thinking about, but then I wondered why no one reported getting DB error messages.
Well, I was thinking of a deadlock in the PHP process, we've observed them from time to time. The process typically persists for days, until apache is manually restarted. The database connections time out and close eventually. The user will also see a timeout. This can happen when malloc() is called from a signal handler, a problem which the designers of apache were apparently unaware of.
When I had the affectedRows() > 0 check in LogPage.php, an admin reported getting the error I had it say whenever it was not met (this was for blocking) a few times. This is odd because it seems like the main query function would just return false and throw a DB error if that was the case. I with I had it logging the error code for that.
Yes, that's odd. And more consistent with what the admins are telling us, about the lack of timeouts or other error messages when logging fails.
-- Tim Starling