Bug #10772 slave I/O thread should check for available disk space
Submitted: 20 May 2005 18:24 Modified: 24 Sep 2005 1:35
Reporter: Jonathan Miller Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S4 (Feature request)
Version:mysql-5.1 OS:Any (All)
Assigned to: Assigned Account CPU Architecture:Any
Triage: Triaged: D5 (Feature request)

[20 May 2005 18:24] Jonathan Miller
Description:
Basically, the I/O thread should check for available disk space and should stop reading from master bin and updating relay logs until some disk space is freed. This space may come from the SQL thread catching up and removing processed  relay logs. Error message should also be written to the *.mydomain.com.err log. This could be a configuration setting for % of free disk space with a default of 5 -10%.

Comments from email thread.
 
> I was trying to reprocess from the first time I ran out of space. Had removed the large file I put 
> there to cause the out of space condition. But due to the size of the 
> relay logs, and the fact that the SQL thread was slow in updating, I ran out of space again.
> If the I/O thread was aware that disk space was low an waited for SQL 
> thread to process and clean up some relay logs, all the data would 
> have fit is my point.

Yes, I agree, this could be implemented. 

Best wishes,
Lars

How to repeat:
N/A

Suggested fix:
I/O thread should check for available disk space and should stop reading from master bin and updating relay logs until some disk space is freed.
[20 May 2005 18:42] Guilhem Bichot
--relay-log-space-limit (existing since 4.0)
[20 May 2005 21:52] Jonathan Miller
From email thead:
Guilhem:

This is good, but it does not prevent an out of disk space issue which seems to unrecoverable from a replication standpoint. 

What I am asking for in the 5.1 time frame (not 5.0) is that the I/O thread check the disk space every once in a while and if it is lower then a configure range (lets say 5%) that is acts in the same way as the  --relay-log-space-limit.

Is this an unreasonable request? I think not.

Thanks for helping me work through this.
JBM
[25 Jan 2010 9:14] Shane Bester
in recent 5.1 version, server prints this:

100121 10:51:15 [ERROR] /bin/mysqld: Disk is full writing './relay-bin.00005' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)

Does it mean this feature request has already been fully implemented or is there something more to do ?