[ https://issues.apache.org/jira/browse/HDFS-3510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colin Patrick McCabe updated HDFS-3510: --------------------------------------- Attachment: HDFS-3510.001.patch Here's a patch for trunk. > Fix FSEditLog pre-allocation > ---------------------------- > > Key: HDFS-3510 > URL: https://issues.apache.org/jira/browse/HDFS-3510 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 1.0.0, 2.0.0-alpha > Reporter: Colin Patrick McCabe > Assignee: Colin Patrick McCabe > Fix For: 1.0.0, 2.0.1-alpha > > Attachments: HDFS-3510-b1.001.patch, HDFS-3510-b1.002.patch, > HDFS-3510.001.patch > > > In the FSEditLog, we want to avoid running out of space in the middle of > writing an edit log operation to the disk. We do this by a process called > "preallocation"-- reserving space on the disk for the upcoming edit log > entries before beginning to write them. > There are two problems: > In both trunk and branch-1: > * We only try to do preallocation when the current position is less than 4096 > bytes from the end of the file. However, bufReady starts out at 512kb, and > only gets bigger from there. There is no way that 4kb is enough space to > reserve. > Only in branch-1: > * The branch-1 code unfortunately creates sparse files rather than actually > pre-allocating the required space. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira