#2 Feb 09, 2005 07:14
Interesting. Was just dealing with this with someone. Managed to learn some totally bodacious stuff, although not how to spell that particular word. Error 28 means "disk full" which doesn't mean your web space - it theoretically means your MySQL space, but even that's not really true.
Step one: go to your database and optimize your tables on principal.
I googled the error statement and learned that in some cases doing a 'repair' to the database solved the issue, or at least it seemed to for some people.
Step two: go to your database and repair your tables on principal.
In this case it didn't help, so we tinkered some more. Guess what! The crux of this particular biscuit is the JOIN statement in the sql string, or at least it was for one particular individual. How do I know that? We could go to his stats page and get the page loaded until it came time to display the Recently Commented - a hack of mine. It too uses the JOIN thing, so I asked him to delete it. Lo and bee hole it worked - the stats page would serve up it's information, including the Heavy Hitters component of the sidebar (which is another hack of mine). I therefore searched google for the text in the error and the single word 'join'.
One of the top responses is a host forum thread in which the host reveals they fixed the issue by clearing the cache behind the tmp folder. They indicated that cpanel did not do it's thing properly and they took care of the issue for the user. Thus it seems safe to assume that a disk space error can come from not only MySQL space but also space allotted to MySQL in the tmp directory, which I guess it has to use when it joins tables.
Step three: if you still have the stats folder see if you can access it directly. If so talk to your host about tmp cache issues and mention how JOINs seem to mess up the whole world.
Unfortunately that did not fix this particular user's issue. Seems he went to his host with all this information about JOIN and tmp cache and learned that his server was extremely unbalanced. I don't understand that statement because it either falls over and goes boom or it's balanced okay in my book, but whatever: this guy and his host expect to see things working properly when the host fixes the server load balance issue.
Therefore, and in closing, optimize, repair, and talk to your host about possible tmp cache issue and/or server load balance issues and mention that this problem seems to be related to your application JOINing tables as part of it's query.
Oh by the way it does JOIN to hook up comments to posts even if there aren't any. It figures that out by joining. INNER JOIN to be precise, but my Recently Commented hack uses only JOIN and my heavy hitters hack just does a good old fashioned "yo db wazzup!!!"