Bug #3248 Doc says MyISAM warns if disk full but it does not
Submitted: 21 Mar 2004 14:03 Modified: 24 Sep 2004 10:19
Reporter: Guilhem Bichot Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: MyISAM storage engine Severity:S3 (Non-critical)
Version:4.0 OS:Any (all)
Assigned to: Guilhem Bichot CPU Architecture:Any

[21 Mar 2004 14:03] Guilhem Bichot
Description:
-- This is assigned to me because I am working on better handling of "disk full" when writing to the binary log --
Manual says:
# It checks once every minute to see whether there is enough space to write the current row. If there is enough space, it continues as if nothing had happened.
# Every 6 minutes it writes an entry to the log file warning about the disk full condition.

It does not write an entry to the log file so there is no way to know that it is waiting for free space. Even if the entry was written, "Every 6 minutes" is in fact "Every 10 minutes".

How to repeat:
have a full disk containing a MyISAM table and try to insert to the table. The INSERT hangs (expected) but nothing is printed (neither to client, which is normal, but nor to the error file).

Suggested fix:
Will work on it.
[3 Apr 2004 12:41] Guilhem Bichot
I am working on it. I have changed code so that:
- the error message "disk full" actually goes to the error log,
- a "write error" goes to the error log is the waiting-for-space thread is killed.
And now I am adding a new status variable which will tell about the last disk full error (maybe even the last disk read/write error?) (timestamp+message) because the error log may be full too when we try to write the message to it.
[24 May 2004 20:57] Arno de Greef
I experience a similar problem, but with a little twist! When adding a new record into a table I get the following error message:
[MySQL][ODBC 3.51 Driver][mysql-4.0.18-nt]The table '...' is full.
In visual basis this means a run-time error -2147217887 (80040e21).
This occurs when the databasefile (.MYD) reaches 4 GB in filesize.
I have tried this in several different database configurations, but I'm unable to get rit of it.
Is this the same problem?
[24 May 2004 22:22] Guilhem Bichot
It's not the same problem. Mine is when the partition is full, yours is that probably you are hitting the default 4GB default limit of MYD files (or the file size exceeds what the OS or filesystem can accept). To know how to get rid of the 4GB limit of MYD files, you can look here:
http://dev.mysql.com/doc/mysql/en/Table_size.html
it's all explained (an ALTER TABLE should do the job).
[25 May 2004 8:47] Arno de Greef
Oeppss, it looks like I overlooked this. You probably made me as a bit of a novice when it comes to MySQL! Thanks for the suggestion.
[28 Jul 2004 2:34] Guilhem Bichot
New patch submitted.
[24 Sep 2004 10:19] Guilhem Bichot
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Fixed that it writes a message to the error log every 10 minutes.
ChangeSet@1.2032, 2004-09-24 11:54:37+02:00, guilhem@mysql.com