[development] Watchdog dieing on large queries
Steven Surowiec
steven at digitalpulp.com
Wed Apr 22 16:12:26 UTC 2009
I've found a workaround for myself for this one but just wanted to put
it out there. When a query fails watchdog is used to insert it into the
DB, which is fine 99.9% of the time, until that .1% bites you. The
problem is that if the query (say inserting a new record into the
"cache") causes a query that is larger than the MySQL query buffer
limit. This results in a MySQL error that the query is too large to
insert, which watchdog then picks up and tries to insert, which fails,
which watchdog picks up ... and you get the point. Result? Infinite loop
and then either a timeout or PHP runs out of memory and dies. I'd think
the proper way to handle this would be to have a check that the specific
error code for a MySQL error resulting from a query buffer violation
doesn't try to insert the query, again just putting this out there.
More information about the development
mailing list