[ 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.010.patch Earlier Suresh commented that we should support more than 1MB of preallocation at a time. This patch makes that possible. * EditLogOutputStream: rename PREALLOCATION_LENGTH to MIN_PREALLOCATION_LENGTH, to reflect the fact that we can now pre-allocate more than 1MB at a time. * FSEditLogOp#Reader#verifyTerminator: allow more than 1.5MB of padding at the end of the edit log. In order to do this, the verifyTerminator function disables the StreamLimiter, and uses the InputStream#mark interface. * EditLogOutputStream: in contrast to the previous patch, move the preallocation logic into EditLogOutputStream#preallocate, where it originally was. Handle pre-allocating more than 1MB at a time. Keep the LOG.debug message on every preallocation. * There are many new unit tests > Improve 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, HDFS-3510.003.patch, HDFS-3510.004.patch, > HDFS-3510.004.patch, HDFS-3510.006.patch, HDFS-3510.007.patch, > HDFS-3510.008.patch, HDFS-3510.009.patch, HDFS-3510.010.patch > > > It is good to avoid running out of space in the middle of writing a batch of > edits, because when it happens, we often get partial edits at the end of the > log. > Edit log preallocation can solve this problem (see HADOOP-2330 for a full > description of edit log preallocation). > The current pre-allocation code was introduced for performance reasons, not > for preventing partial edits. As a consequence, we sometimes do a write > without using pre-allocation. We should change the pre-allocation code so > that it always preallocates at least enough space before writing out the > edits. -- 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