Bug #72597 | mysqlbinlog --raw does not check for errors | ||
---|---|---|---|
Submitted: | 9 May 2014 20:50 | Modified: | 8 Jul 2014 12:54 |
Reporter: | Domas Mituzas | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Command-line Clients | Severity: | S3 (Non-critical) |
Version: | 5.6, 5.6.19 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[9 May 2014 20:50]
Domas Mituzas
[9 May 2014 20:52]
Domas Mituzas
easy way to come up with space limited file system for a test: mount -t tmpfs -o size=1M tmpfs ./test-mount/ strace example: write(4, "..."..., 83) = -1 ENOSPC (No space left on device) write(4, "..."..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "..."..., 16384, 0, NULL, NULL) = 11072 write(4, "...", 27) = -1 ENOSPC (No space left on device) write(4, "..."..., 83) = -1 ENOSPC (No space left on device) write(4, "..."..., 4096) = -1 ENOSPC (No space left on device) write(4, "...", 27) = -1 ENOSPC (No space left on device) write(4, "..."..., 83) = -1 ENOSPC (No space left on device) write(4, "..."..., 763) = -1 ENOSPC (No space left on device) write(4, "...", 27) = -1 ENOSPC (No space left on device) write(4, "..."..., 79) = -1 ENOSPC (No space left on device) write(4, "..."..., 2833) = -1 ENOSPC (No space left on device) write(4, "...", 27) = -1 ENOSPC (No space left on device) write(4, "..."..., 83) = -1 ENOSPC (No space left on device) write(4, "..."..., 567) = -1 ENOSPC (No space left on device) write(4, "...", 27) = -1 ENOSPC (No space left on device)
[12 May 2014 9:29]
MySQL Verification Team
Hello Domas, Thank you for the report. Verified as described. Thanks, Umesh
[12 May 2014 9:32]
MySQL Verification Team
// with 5.6.19 write(4, ",\234rS\36\352\f\0\0\367\37\0\0O\334k\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "\370\37\0\210\0,\234rS\36\352\f\0\0\367\37\0\0F\374k\r\0\0F\0\0\0\0\0\0\0"..., 16384, 0, NULL, NULL) = 16384 write(4, ",\234rS\36\352\f\0\0\367\37\0\0F\374k\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) write(4, ",\234rS\36\352\f\0\0\367\37\0\0=\34l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "S\36\352\f\0\0\367\37\0\0004<l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374CvQ"..., 8180, 0, NULL, NULL) = 8180 write(4, ",\234rS\36\352\f\0\0\367\37\0\0004<l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "\370\37\0\213\0,\234rS\36\352\f\0\0\367\37\0\0+\\l\r\0\0F\0\0\0\0\0\0\0"..., 16384, 0, NULL, NULL) = 16384 write(4, ",\234rS\36\352\f\0\0\367\37\0\0+\\l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) write(4, ",\234rS\36\352\f\0\0\367\37\0\0\"|l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "S\36\352\f\0\0\367\37\0\0\31\234l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374\211xQ"..., 8180, 0, NULL, NULL) = 8180 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\31\234l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "\370\37\0\216\0,\234rS\36\352\f\0\0\367\37\0\0\20\274l\r\0\0F\0\0\0\0\0\0\0"..., 16384, 0, NULL, NULL) = 16384 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\20\274l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) write(4, ",\234rS\36\352\f\0\0\367\37\0\0\7\334l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "S\36\352\f\0\0\367\37\0\0\376\373l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374\317zQ"..., 8180, 0, NULL, NULL) = 8180 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\376\373l\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "\370\37\0\221\0,\234rS\36\352\f\0\0\367\37\0\0\365\33m\r\0\0F\0\0\0\0\0\0\0"..., 16384, 0, NULL, NULL) = 16384 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\365\33m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) write(4, ",\234rS\36\352\f\0\0\367\37\0\0\354;m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "S\36\352\f\0\0\367\37\0\0\343[m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374\25}Q"..., 8180, 0, NULL, NULL) = 8180 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\343[m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "\370\37\0\224\0,\234rS\36\352\f\0\0\367\37\0\0\332{m\r\0\0F\0\0\0\0\0\0\0"..., 16384, 0, NULL, NULL) = 16384 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\332{m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) write(4, ",\234rS\36\352\f\0\0\367\37\0\0\321\233m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "S\36\352\f\0\0\367\37\0\0\310\273m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374[\177Q"..., 8180, 0, NULL, NULL) = 8180 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\310\273m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "\370\37\0\227\0,\234rS\36\352\f\0\0\367\37\0\0\277\333m\r\0\0F\0\0\0\0\0\0\0"..., 16384, 0, NULL, NULL) = 16384 write(4, ",\234rS\36\352\f\0\0\367\37\0\0\277\333m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) write(4, ",\234rS\36\352\f\0\0\367\37\0\0\266\373m\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374"..., 4096) = -1 ENOSPC (No space left on device) recvfrom(3, "S\36\352\f\0\0\367\37\0\0\255\33n\r\0\0F\0\0\0\0\0\0\0\2\0\2\377\374\241\201Q"..., 8180, 0, NULL, NULL) = 8180
[8 Jul 2014 12:54]
Jon Stephens
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. Documented fix in the MySQL 5.6.20 and 5.7.5 changelogs as follows: mysqlbinlog --raw did not check for errors caused by failed writes, which could result in silent corruption of binary logs. Now in such cases it stops with an error. Closed. If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at http://dev.mysql.com/doc/en/installing-source.html